Rolemanager не работает должным образом - PullRequest
1 голос
/ 16 мая 2011

Мой ролевой менеджер в c # не работает так, как я хочу.

При запуске моего сайта запускается страница входа. И при входе в систему перенаправляет вас на Default.aspx

var username = (string)Session["username"];
    Login1.LoggedIn += (ee, ff) =>
    {            
        Session.Add("username", Login1.UserName);  
        Response.Redirect("Default.aspx");
}

Моя мастер-страница проверяет, является ли сеанс null, затем перейдите к Login.aspx

if (Session["username"] == null)
{
Response.Redirect("Login.aspx");
return;
}`

У меня есть две разные роли "admin" и "vip".

Так что, если пользователь в роли «администратор», предоставьте доступ к конкретному сайту aspx, иначе не делайте этого!

     if (User.IsInRole("admin"))
       {
          Response.Redirect("Test.aspx");
      } else if (User.IsInRole("vip")) {
         Response.Redirect("Default.aspx");
       }`

Тем не менее, не имеет значения, кто вошел в систему, он по-прежнему предоставляет доступ к Test.aspx

Мой файл webconfig:

<system.web>
  <authorization>
   <allow roles="admin" />
  </authorization>`

Надеюсь, кто-то понимает мою "маленькую" проблему

1 Ответ

1 голос
/ 16 мая 2011

попробуйте дать запретить пользователям также в web.config, например:

<system.web>
<authorization>
<allow roles="admin" />
<deny users="*" />
</authorization>`
...