2013-08-17 2 views
0

ASP.NET 4 (Visual Web Developer 2010 Express)를 사용하여 webiste를 작성합니다. 내 ms 데이터베이스가 있고 내 웹 사이트에 데이터를 표시하고 싶습니다. 일부 개인 정보가 있으므로 사용자 로그인 시스템을 설정하고 싶습니다.ASP.NET 4.0 사용자 지정 멤버쉽 공급자 역할 설정

나는 튜토리얼을 따라 간단한 AccessMembershipProvider를 만들었습니다. http://www.devx.com/asp/Article/29256/0/page/3

이제 역할 (역할 정보가 데이터베이스에 저장 됨)을 추가하고 사용자가 특정 웹 페이지에 액세스 할 수 있는지 여부를 결정하고 싶습니다.

어떻게 구현할 수 있습니까? (나는 VB를 사용하고 있지만 C# 코드도 잘 이해하고있다.)

모두에게 감사드립니다.

편집 : 나는 더 쉬운 생각이 있습니다. 사용자가 특정 페이지에 액세스하려고하면 서버는 데이터베이스에서 자신의 역할 정보를 검색합니다. 페이지가로드되면 서버는 그녀가 입력 할 수 있는지 여부를 결정합니다. 허용되면 페이지가 계속 표시됩니다. 그렇지 않으면 오류 메시지가 표시되고 사용자를 다른 페이지로 리디렉션합니다. 이 방법이 효과가 있습니까? 나는 ... 하면 현재 사용자에 체크를 할 수

답변

1
귀하의 회원 영역의 뒤에 마스터 코드에서

(또는 영문)을 도와주세요이 심각한 버그 나 보안 위험으로 이어질 것입니다 궁금

if(User.IsInRole("RoleYouWouldCheckFor")) 
{ 
// user seems to be member of appropriate group, let him in 
} 
MVC 환경에서 작업이와 컨트롤러를 장식 할 수 있다면

또는 :

[Authorize(Roles = "RoleYouWouldCheckFor")] 

추가/역할에 사용자를 제거하려면 다음을 수행하십시오

Roles.AddUserToRole(username, roleName); 
Roles.RemoveUserFromRole(username, roleName); 
+0

사용자가 성공적으로 로그인하고 로그 아웃 할 때 이렇게합니까? "Public Overrides Function ValidateUser()"에 "Roles.AddUserToRole (username, roleName)"을 추가 하시겠습니까? 그리고 사용자가 로그 아웃 할 때 Roles.RemoveUserFromRole (username, roleName)을 사용 하시겠습니까? 페이지가로드 될 때 if 문을 사용 하시겠습니까? – pk028382

+0

아니오, 추가 및 제거 작업을 일반적으로 백엔드 시스템에서 사용 하시겠습니까, 톰 로그인/아웃을 추가 및 제거하지 않으려면 User.IsInRole을 사용하여 역할 멤버십을 확인하십시오 (... In Validate User method –

+0

정말 이해가 안 돼요. 어디서 코드를 입력해야합니까? 자세히 설명해 주시겠습니까? – pk028382

관련 문제