Ограничьте роли для определенной папки с помощью web.config - PullRequest
0 голосов
/ 25 марта 2012

Я использую этот код для аутентификации в 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 голосов
/ 25 марта 2012

Попробуйте и дайте мне знать, что происходит?

<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");
             }
     }

}
...