c# - guest 拒绝访问重定向到 Login.aspx 的管理文件夹

标签 c# asp.net security authentication

我在我的 webconfig 中使用以下内容,因此只有管理员可以访问管理文件夹。

<location path="Admin" allowOverride="true">
<system.web>
  <authorization>
    <allow roles="Administrators" />
    <deny users="*" />
  </authorization>
</system.web>

现在,当 guest 用户尝试访问它时,他会被重定向到登录页面。

我希望用户要么显示一个用户无法访问的弹出窗口,要么只停留在同一页面上,并在该页面的标签中显示一些错误消息...

有什么建议吗??

谢谢

这里是webconfig中的更多代码

<authentication mode="Forms">
    <forms loginUrl="Login.aspx" protection="All" name="Cookie" timeout="120" path="/" slidingExpiration="true"
       defaultUrl="Default.aspx">
    </forms>

最佳答案

您可以在后台代码中以编程方式拒绝访问,而不是在 web.config 中拒绝访问。

        if (User.IsInRole("Administrators"))
        {
            accessDeniedMessage.Visible = true;
            adminPage.Visible = false;
        }
        else
        {
            adminPage.Visible = true;
            // show admin page
        }

关于c# - guest 拒绝访问重定向到 Login.aspx 的管理文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2103632/

相关文章:

c# - 从 mvc Controller 中的 FormCollection 元素检索对象数组

asp.net - 在 ASP.NET DropDownList 控件中插入 'space'

asp.net - 在 ASP.NET 中自动记录长/异常页面执行时间

javascript - meteor.js 客户端安全

sql-server - 良好的安全实践和自动识别范围管理是否相互排斥?

c# - 在不创建 'ResourceManager' 实例的情况下访问本地化资源字符串?

c# - Windows 手机 : how get current application id

c# - 如何在 .NET 中验证 DLL 的数字签名

c# - 在方法内部更改参数值,这是反模式吗?

.net - 确定是否在没有System.Web的ASP.NET或WinForms/控制台中运行