어떻게 그 문제를 해결할 수 있을지 모르겠습니다. 간단히 말해서, 저는 응용 분야 프로젝트에서 제 지역에 별도의 회원권을 갖고 싶습니다. 그러나이 "분리 된"회원은 "기본"회원과 동일한 데이터베이스를 사용해야합니다.MVC 영역 별도 멤버쉽
내 주요 프로젝트에서 나는 SimpleMembershipProvider
을 사용합니다.
예 : 나는 주요 프로젝트의 컨트롤러와 뷰 모두에서 HttpContext.User.Identity
와 그에 대한 정보를 얻을 수 있습니다 http://example.com의 "정상적인"사용자 loggin에가
- 그는 단지 기록됩니다. 그러나 영역 (http://example.com/special)을 입력하면 HttpContext.User.Identity
은 해당 영역에서 null을 반환해야합니다. 즉, 사용자는 "기록되지 않음"입니다.
반면에 "특별"사용자가 http://example.com/special을 입력하고 성공적으로 로그인하면 그는 주 응용 프로그램 (해당 영역에서만)을 제외한 모든 special
영역에 대해 승인을 받았습니다. 메인 프로젝트에서 그는 "기록되지 않은"상태입니다 - 로그인해야합니다 ("정상적인"역할을 가진 사용자와 함께).
두통없이 어떻게 해결할 수 있습니까?
역할 사용! 각 영역에 대한 역할을 한 다음 해당 영역의 각 컨트롤러에서'[Authorize (Roles = "ThisArea")]'를 실행하면됩니다. 그런 다음 몇 가지 맞춤 속성과 필터를 만들 수 있습니다! –