2009-08-06 9 views
3

저는 사용자 지정 역할 공급자를 작성 중이므로 web.config에 저장된 권한 부여 정보에 프로그래밍 방식으로 액세스해야합니다. 사이트의 특정 섹션은 특정 역할에 의해서만 액세스 할 수 있습니다. 특정 역할에 액세스 할 수있는 페이지 및/또는 페이지에 액세스 할 수있는 역할을 찾고 싶습니다.web.config의 권한 정보 액세스

나는 이것을 알아낼 수 없습니다.

답변

8

System.Web.Security 네임 스페이스의 WebConfigurationManager 클래스를 통해 ConnectionStrings, AppSettings 및 기타 정의 된 값과 같이 web.config에 저장된 모든 정보에 액세스 할 수 있습니다.

의 사용자가 정의한 가정 해 봅시다 및 권한 부여 섹션으로 : (

<system.web> 
<authorization> 
    <allow roles="admin,moderator" /> 
    <deny users="?" /> 
</authorization></system.web> 

방금 ​​만든 섹션 모두을 내 페이지에 액세스하고 거부 할 수 관리자 및/또는 사회자 역할이 사용자를 의미합니다 익명)이 로그인 정보없이 액세스를 시도합니다. 그하기 위해

는 당신에게 당신이 찾고있는 정확하게 Rules 수집을 줄 것이다

AuthorizationSection auth = WebConfigurationManager.GetSection("system.web/authorization") as AuthorizationSection; 

AuthorizationSection 클래스로 WebConfigurationManager의 GetSection의 방법을 호출합니다.

+0

'AuthenticationSection' 객체에서'Rules' 컬렉션을 찾지 못했습니다 ...? – awe

+0

AuthorizationSection에는 규칙 컬렉션이 있습니다. 수업 이름의 철자가 잘못되었습니다. 그것은 AuthenticationSection이 아니지만 AuthorizationSection, 내가 언급 한 오류를 확인하기 위해 내 게시물을 편집, 내게 이것을 통지 해 주셔서 감사합니다. – Myra