2012-09-23 3 views
1

일부 웹 양식이 있으며 다른 웹 양식을 표시하기 전에 사용자의 인증 여부를 확인해야합니다. 모든 사용자는 Default.aspxAbout.aspx 페이지에 액세스 할 수 있습니다. 그리고 세 종류의 사용자 즉, Admin,User and Super User이 있습니다. 또한, 나는 내 자신의 SQL 서버 db에 인증 정보를 보관한다.비공개 사용자가 ASP.NET에서 웹 페이지를 볼 수 없도록 제한하는 방법

어떻게하면됩니까? 미리 감사드립니다.

답변

2

먼저 멤버십과 역할 공급자를 설정하십시오. 그것에 관한 모든 이야기가 있습니다. 나는 여기서 도움을 줄 것이다. 다음 http://msdn.microsoft.com/en-us/library/system.web.security.sqlmembershipprovider.aspx

이 후 SqlRoleProvider 링크 (다시 취할 수있는 옵션 중 하나만) :: http://msdn.microsoft.com/en-us/library/system.web.security.sqlroleprovider.aspx

입니다 : 여기

는 SqlMembershipProvider (취할 수있는 옵션 중 하나)에 대한 링크입니다 당신은 당신이 폴더 수준에서 사용자/역할 액세스를 제한 할 수 있음을 입증했습니다. 이 코드를 web.config (구성 태그 내부)에 넣으십시오.

<location path="AdminPages"> 
    <system.web> 
     <authorization> 
     <allow roles="Administrator"/> 
     <deny users="*"/> 
     </authorization> 
    </system.web> 
    </location> 
    <location path="UserPages"> 
    <system.web> 
     <authorization> 
     <allow roles="Administrator,User"/> 
     <deny users="*"/> 
     </authorization> 
    </system.web> 
    </location> 

여기에 설명이 거의 없습니다. 루트 폴더 "AdminPages"는 "Administrators"역할의 사용자에게만 부여됩니다. "관리자"및 "사용자"역할의 사용자에게 루트 폴더 "UserPages". 두 경우 모두 알 수없는 사용자는 폴더에 액세스 할 수 없습니다. 이것 만 있으면 충분합니다. 이것 대신 페이지에서 상속 한 클래스를 생성 한 다음 페이지 액세스를 처리하는 방법도 있습니다.하지만 그렇게하지는 않을 것입니다.

+0

작동합니다. 많이 고맙습니다. –

+0

MaDu_LK에 감사드립니다. 당신이 그것에 만족한다면 당신은이 대답을 "Acepted answer"로 투표 할 수 있습니다. 해피 코딩! –

관련 문제