2016-09-21 11 views
0

다음과 같이 app.UseCookieAuthentication을 사용하고 있습니다 (간단한 예). CookieAuthentication 미들웨어가 제공하는 쿠키가 안전한가요?

app.UseCookieAuthentication(new CookieAuthenticationOptions() 
{ 
    AuthenticationScheme = "MyAuthScheme", 
    AutomaticAuthenticate = true, 
}); 

그럼 어딘가에 수동 ClaimsPrincipal 생성 및 사용자 로그인 해요 :

var claimCollection = new List<Claim>() 
{ 
    new Claim(ClaimTypes.Name, "First user"), 
    new Claim(ClaimTypes.Role, "User"), 
    new Claim(ClaimTypes.Email, "[email protected]") 
}; 
var claimsIdentity = new ClaimsIdentity(claimCollection); 
var claimsPrincipal = new ClaimsPrincipal(claimsIdentity); 

await context.Authentication.SignInAsync("MyAuthScheme", claimsPrincipal); 

그래서 생성 된 쿠키는 사용자 역할에 대한 정보가 포함됩니다.

이제 질문 : 생성 된 쿠키가 안전합니까? 내 말은 ASP.NET이 암호를 어떻게 든 암호화하여 최종 사용자가 수동으로 수정할 수 없다는 의미입니다. 서버는 사용자가 관리자라고 생각할 것입니까? 쿠키가 사용자가 수정할 때 서버가이를 알 수 있습니까?

답변

1

예.

예 암호화되었으므로 내용을 볼 수 없습니다.

예 서명되었으므로 변조가 감지됩니다.