2010-03-23 3 views
2

MVC.NET은 쿠키를 사용하여 역할을 처리합니까? 아니면 컨트롤러가 각 요청에서 역할 공급자를 확인합니까? 이 코드를 고려 :MVC.NET은 쿠키를 통해 역할을 처리합니까?

[Authorize(Roles="CommentsModerator, SiteAdministrator")] 
public ViewResult ApproveComment(int commentId) { 
    // Implement me 
} 

이 역할은 쿠키로 설정되어를 할 때, 또는 Authorize이 작업에 대한 각 호출에 대한 역할 공급자와 속성을 검사 할에 사용자가 처음 많은?

쿠키를 사용하는 경우 빠릅니다. 그러나 쿠키를 삭제하기 위해 로그 아웃하지 않는 한 사용자가 역할에서 제거되는 경우를 처리하는 것은 까다로울 수 있습니다.

+0

하지만, 사용자의 쿠키 값이 단지 맹목적으로 신뢰 한 경우는 심각한 보안 위험이 될 것이다 :

당신은과 기본 동작을 재정의 할 수 있습니다. 최소한 암호로 서명되었거나 다른 방식으로 확인되지 않았다면 클라이언트 측에서 수정할 수 있습니다. –

+0

Matthew F : 예, 물론 쿠키를 암호화해야합니다. ASP.NET이 현재 FormsAuthentication에서 수행하는 작업입니다. – royco

답변

관련 문제