2011-05-16 11 views
1

C#의 내 rolemanager가 제대로 작동하지 않습니다.Rolemanager가 제대로 작동하지 않습니다.

내 사이트를 시작할 때 로그 페이지가 시작됩니다. 로그인 때, 세션이 null 다음

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

를 Login.aspx로 이동하는 경우

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

내 masterpage 검사를하고 default.aspx로 리디렉션 나는 2 개 diffrent 역할 "관리자"와 "VIP"가 .

그래서 사용자가 "admin"역할을하는 경우 특정 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

다음과 같이 web.config에서도 deny 사용자를 제공하려고 시도하십시오.

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

시도해 보았습니다. 그것은 내 전체 프로젝트를 거부합니다. 접근이 금지되어있다. – dumbel

+0

해당 역할에 사용자를 추가하는 방법 ?? ur가 웹 사이트 관리 도구를 통해 추가하는 경우 web.config의 역할 관리를 system.web 아래에서 와 같이 사용하고 다음과 같은 조건을 사용합니다. if (HttpContext.Current.User.IsInRole ("Admin"))를 사용하여 사용자가이 역할에 속하는지 여부를 확인합니다. – Archana

관련 문제