如何仅提供 ELMAH.axd 的访问权限以供管理员在 Web 中登录

2023-11-23

我已经创建了应用程序并实现了 ELMAH 日志记录。在我的网站中,存在三种类型的用户。

  • Admin: 一切都可以(查看 elmah.axd 的权利)
  • User: 可以拥有自己的权限(无法查看 elamh.axd)
  • Guest:只能查看(无法查看elamh.axd)
  • 上述用户将被存储在数据库中。

    问题:-现在我如何管理用户和来宾查看 ELMAH.axd 日志文件的保护级别?


    如果您正在使用Roles你可以将其添加到你的 web.config 中:

    <location path="~/elmah.axd">
        <system.web>
            <authorization>
                <allow roles="Admin" />
                <deny users="*" />
            </authorization>
        </system.web>
    </location>
    

    如果您不使用角色,则必须指定要授予访问权限的每个用户:

    <location path="~/elmah.axd">
        <system.web>
            <authorization>
                <allow users="user1, user2, user3" />
                <deny users="*" />
            </authorization>
        </system.web>
    </location>
    

    Update:

    由于您没有使用任何内置的身份验证/授权,并且您无法控制 elmah 页面,因此您将不得不处理BeginRequest() event:

    protected void Application_BeginRequest()
    {
        if(Request.Url.AbsolutePath.ToLowerInvariant().Contains("elmah.axd"))
        {
            // Check if user can see elmah and handle unauthorised users (return 401/redirect to login page/etc...)
        }
    }
    
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

    如何仅提供 ELMAH.axd 的访问权限以供管理员在 Web 中登录 的相关文章

    随机推荐

    • window.requestFileSystem 不工作

      我正在 Firefox IE 9 Chrome 和 Opera 上尝试下面的代码 但是 onInitFs fs 函数没有被调用 如果我将 添加到 window requestFileSystem window PERSISTENT 1024
    • conda install -c anaconda gcc_linux-64 未使用

      我想在没有 root 访问权限的服务器上安装 gcc 的更新版本 我试过conda install c creditx gcc 7这不起作用 然后我发现conda install c anaconda gcc linux 64实际上安装了g
    • 来自 FBO 的 glReadPixels 因多重采样而失败

      我有一个带有颜色和深度附件的 FBO 对象 我渲染它然后使用它读取glReadPixels 我正在尝试添加多重采样支持 代替glRenderbufferStorage 我正在打电话glRenderbufferStorageMultisamp
    • .Net函数调用(C# F#) VS C++的性能

      由于 F 2 0 已成为 VS2010 的一部分 我对 F 产生了兴趣 我想知道使用它有什么意义 我读了一点 并制定了一个基准来衡量函数调用 我用过阿克曼函数 C sealed class Program public static int
    • gitlab 通过命令行获取特定分支的 tar

      我用的是gitlab 当我进入界面时 在每个分支上我都可以下载 zip tar 或其他形式的源代码 我正在制作 rpm 规范文件 我需要能够使用命令行下载 tar 球 因为我添加了我的 rsa 密钥 所以我可以毫无问题地进行 git 克隆
    • “或”运算符不返回布尔值的动机是什么?

      首先 代码 gt gt gt False or hello hello 这种令人惊讶的行为可以让您检查是否x is not None并检查值x一行 gt gt gt x 10 if randint 0 2 1 else None gt gt
    • 使用核心动画 (CAKeyFrameAnimation) 调整 UIView 的大小和移动

      这可能吗 我可以更改图层的不透明度和位置 中心 但每当我尝试更改大小或原点时 它都不起作用 CAAnimationGroup anigroup CAAnimationGroup new CGMutablePathRef thePath CG
    • 使用异步而不等待

      我想让一个函数异步 所以我只需添加async像这样 public async static void something 可以看到它的返回类型是void 我只想异步调用这个函数而不阻塞 因为 return 是void so no await
    • WCF 跟踪。如何获得关闭连接的确切原因?

      在我的 WCF 服务中 当尝试传输大数据时 我不断收到错误 底层连接已关闭 连接意外关闭 我想知道是什么特殊原因引发了这个错误 所以我设置了WCF 跟踪并且可以阅读痕迹 svclog file 问题是 我可以在这个文件中看到很多有关流程流程
    • “向后移植”的工作流程更改为不同的 Mercurial (Hg) 分支?

      我们有两个头 一位是我们的主要开发负责人 另一位是我直到今天才忘记的 我们发现了一个错误并在我们的主开发分支中修复了它 我刚刚意识到它也应该在旧分支中修复 我认为最好对旧分支进行更改并将其与最新分支合并 但我们没有这样做 Mercurial
    • Gradle 找不到依赖项 com.google.android.gms:play-services

      自从我将 Android Studio 升级到 3 0 0 后 我遇到了问题 我找不到com google android gms play services不再了 添加此依赖项后 当我尝试同步我的项目时 我收到以下消息 Failed to
    • 仅允许在文档开头进行 XML 声明

      我的博客提要今天显示错误 此页面包含以下错误 第 2 行第 6 列错误 仅允许在文档开头进行 XML 声明 下面是出现第一个错误之前的页面呈现 我的博客供稿 http feeds feedburner com klassicblog 我的博
    • 下载文件时如何为 NSURLConnection 制作进度条?

      我想在使用 NSURLConnection 进行下载时显示进度条 当我从服务器获取数据时 我可以更新每个收到的包的 UI 但问题是 我如何知道我已经有多少数据 以及需要下载多少数据 可能以字节为单位 然后我必须做一些数学运算才能得到百分比
    • Groovy 弃用的方法和 Eclipse - 排序

      我在 groovy 1 8 中编写了以下代码 someListOfLists flatten sort unique 我已经转移到 groovy 2 3 x 并且 eclipse 使用来自快照版本的 Juno 的 e4 4 GroovyEc
    • 本地主机拒绝连接 Visual Studio 中的错误

      我已从另一个系统复制了我的解决方案文件并尝试在我的计算机上运行它 为此 我转到项目文件夹并删除了以前的解决方案文件并复制了新的解决方案文件 现在 它开始给我错误 连接被拒绝等 所以 我从这里得到了一个解决方案 尝试连接到运行 IISExpr
    • 如何让 git 默认忽略对子模块的更改

      由于 Git 中引入了 gitmodules 我喜欢像这样添加它们 submodule actionbarsherlock path actionbarsherlock url git github com JakeWharton Acti
    • MySQL INSERT - 字段名称是否需要反引号/重音分隔?

      我对 MySQL 有点陌生 来自 MS SQL 最近在尝试将值插入数据库时 遇到了一些让我非常困惑的事情 我通过 PHP 创建了一个 INSERT SQL 命令 但发现它在尝试执行时抛出错误 INSERT INTO myTableName
    • 将许多参数传递给方法的最佳实践?

      有时 我们必须编写接收许多参数的方法 例如 public void doSomething Object objA Object objectB Date date1 Date date2 String str1 String str2 当
    • Android ListView 带按钮不可选择(可点击)

      我面临一个奇怪的问题 当我删除按钮行时 我在 ListView 中添加了一个自定义行 该行是可选的 但是当我添加按钮时 我无法单击该行 请参阅下面的 xml
    • 如何仅提供 ELMAH.axd 的访问权限以供管理员在 Web 中登录

      我已经创建了应用程序并实现了 ELMAH 日志记录 在我的网站中 存在三种类型的用户 Admin 一切都可以 查看 elmah axd 的权利 User 可以拥有自己的权限 无法查看 elamh axd Guest 只能查看 无法查看ela