2013-07-31 1 views
2

IPrinciple의 사용자 정의 구현을 사용하려고합니다. Membership과 Role Provider를 만들고 web.config에 등록했습니다. 둘 다 작동합니다.Controller.User를 사용자 정의 IPrinciple로 올바르게 설정하십시오.

그러나 컨트롤러의 사용자 속성에 액세스 할 때는 여전히 System.Web.Security.RolePrinciple입니다. 구현 된 사용자 속성을 어디에 설정해야합니까?

ASP.NET이 web.config에서 지정한 MembershipProvider를 자동으로 사용하고 현재 사용자를 설정하기를 바랬습니다. 그러나 https://stackoverflow.com/a/2126070/784908은 Application_BeginRequest에서 HttpContext 현재 사용자를 내 사용자 지정 원칙으로 설정해야한다고 제안합니다. 이 곳이 맞습니까? 롤 검사/모델 바인딩을위한 초기 단계일까요? 다른 어떤 것도 해칠 위험이 있습니까?

답변

1

그러나, https://stackoverflow.com/a/2126070/784908 내가 Application_BeginRequest 에 내 사용자 정의 원리에 대한 HttpContext를 현재 사용자를 설정해야합니다 제안합니다. 이 곳이 맞습니까?

예, 가능한 장소 중 하나입니다. 또 다른 MVCish 장소는 사용자 정의 AuthorizeAttribute를 작성하고 사용자가 대체 할 AuthorizeCore 메소드에서 주체를 설정하는 것입니다.