먼저 멤버십과 역할 공급자를 설정하십시오. 그것에 관한 모든 이야기가 있습니다. 나는 여기서 도움을 줄 것이다. 다음 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". 두 경우 모두 알 수없는 사용자는 폴더에 액세스 할 수 없습니다. 이것 만 있으면 충분합니다. 이것 대신 페이지에서 상속 한 클래스를 생성 한 다음 페이지 액세스를 처리하는 방법도 있습니다.하지만 그렇게하지는 않을 것입니다.
작동합니다. 많이 고맙습니다. –
MaDu_LK에 감사드립니다. 당신이 그것에 만족한다면 당신은이 대답을 "Acepted answer"로 투표 할 수 있습니다. 해피 코딩! –
하지만 여기에도 또 하나의 작은 문제가 있습니다. AdminPages 및 UserPages라는 폴더에 넣었습니다. 그리고 와 같은 다른 관리 페이지로 이동하려고했습니다. 그런 다음 두 번째 페이지를 AdminPages/AdminPages/PageName2.aspx로 식별하고 오류를 제공합니다. 사이트 마스터를 사용하여 이러한 작업을 수행하고 있습니다. 도와주세요. –