2010-08-06 4 views
1

외부 타사 시스템과 통신하기 위해 사용자 정의 RoleProvider를 작성하려고합니다. 그러나 필자가 필요로하는 "역할"은 시스템에서 명시 적으로 정의되지 않고 시스템 내의 조건을 기반으로합니다. 예를 들어 역할은 특정위원회 나 특정 회원 등급의 사람에게 할당 된 사람으로 정의 될 수 있습니다. 즉, 시스템에는 사용하려는 역할에 대한 개념이없고이를 정의하는 메커니즘이 없습니다. 여기서는 역할 유지 관리 방법이 의미가 없으므로 구현되지 않은 채로 남아 있지만 롤 쿼리 메서드는 어딘가에으로 정의 된 역할을 가져야합니다.역할을 정의하지 않은 데이터 저장소에 대해 RoleProvider를 코딩하는 방법은 무엇입니까?

어떻게 이러한 상황에서 역할을 정의하고 사용할 수 있습니까? 이 정보에 대한 별도의 데이터베이스를 유지하는 것은 악몽 일 것입니다. 또한이 프레임 워크는 역할이 완전히 다른 여러 배포에 사용됩니다. 사용자가 특정 역할에 속해 있는지를 판단하는 데 필요한 논리를 포함하는 역할 개체를 사용하여 일종의 시스템을 코딩해야한다고 생각하지만 역할 공급자 모델을 사용하는 방법을 파악할 수는 없습니다.

내가 뻔뻔스럽게 명백한 것을 놓치고 있습니까? 나는 완전히 잘못 될 것인가?

답변

1

음, 몇 가지 작업을 수행 할 수 있습니다. 역할 공급자를 만들어 시스템 내에서 자신의 위치를 ​​차지할 수 있습니다 (위원회 멤버 등). 역할 문자열로 변환 할 수 있습니다. 분명히이 작업을 한 번하고 캐시하는 것이 좋지만 가능성이 있습니다.

다른 옵션은 빌드 된 역할 기능을 건너 뛰고 페이지 내에서 상태를 확인하고이를 기반으로 유효성을 검사하는 것입니다. 예를 들어,이위원회를 열람하고, 회원인지 확인하고, 허용 할 권한이 있는가? 그렇지 않으면 거부하십시오. 그런 종류의 일.

HTH.

+0

+1은 우회 역할을합니다. 나는 비슷한 것을 시도하고 캐싱과 퍼포먼스는 악몽이었다. – Greg

관련 문제