使用web.config限制特定文件夹的角色

时间:2012-03-25 12:30:55

标签: asp.net authentication web-config

我正在使用此代码在web.config中进行身份验证

   <authentication mode="Forms">
      <forms timeout="2000" name="A" loginUrl="login.aspx" protection="None" path="/"></forms>
    </authentication>

并在每个文件夹中使用此web.config

<?xml version="1.0"?>
<configuration>
    <system.web>
      <authorization>
        <allow roles="Admin"/> // or other roles in different pages
      </authorization>
    </system.web>
</configuration>

当没有Admin Role的用户想要打开此页面时,会自动重定向到“login.aspx”

是否可以重定向到“access-denied.aspx”等其他网页

1 个答案:

答案 0 :(得分:0)

试试这个,让我知道会发生什么?

<system.web>
      <authorization>
        <allow roles="Admin"/> // or other roles in different pages
        <deny users ="*" />
      </authorization>
</system.web>

将此代码添加到登录页面:

if (!IsPostBack)
{
     if (User.Identity.IsAuthenticated)
     {
           if (!string.IsNullOrEmpty(Request.QueryString["ReturnUrl"]))
            {
                 Response.Redirect("~/Admin/AccessDenied.aspx");
             }
     }

}