, 나는이 같은 코드를 가지고에서 IsInRole로에 문제가있는 것 : 나는 디버거에서이 단계별 때사용자 정의 권한 부여() 내 AccountController에서
ControllerContext.HttpContext.User = new MyAppUserPrincipal(user);
나는 ControllerContext.HttpContext.User 것을 볼 수 있습니다. IsInRole ("Admin")이 true입니다.
다음으로, 사용자 정의 속성에 의해 보호 HomeController 있습니다 : 속성의 정의에서
[AuthorizeMyApp(Roles = "Admin")]
을,이 있습니다
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var principal = filterContext.HttpContext.User ;
if (! principal.IsInRole(_roles))
등
다음이상한거야 로그인 한 후 집에 가려고 시도한 후 :
principal.Identity.Name has 예상 된 이름 및 IsAuthenticate가 참입니다. 그러나 a) principal.IsInRole ("Admin")이 거짓 임 b) (Principal As MyAppUserPrincipal)이 null입니다.
여기에 뭔가 잘못입니까? (MVC2 사용)