gpt4 book ai didi

asp.net-mvc-3 - 如何仅提供 ELMAH.axd 的访问权限以供管理员登录 Web

转载 作者:行者123 更新时间:2023-12-04 11:14:13 25 4
gpt4 key购买 nike

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

  • 管理员 : 可以一切(查看 elamh.axd 的权利)
  • 用户 : 可以拥有自己的权限(无法查看elamh.axd)
  • 客人 : 仅查看(无法查看 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>

    更新:

    由于您没有使用任何内置的身份验证/授权,并且您无法控制 elmah 页面,因此您将不得不处理 BeginRequest()事件:
    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...)
    }
    }

    关于asp.net-mvc-3 - 如何仅提供 ELMAH.axd 的访问权限以供管理员登录 Web,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7005389/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com