2016-09-21 14 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が何らかの形でそれを暗号化してエンドユーザが手作業でそれを変更できないようにしています。サーバーはユーザーがadminだと思いますか? Cookieが変更されたときに、そのCookieが破損しているというサーバー通知はありますか?

答えて

1

はい。

はい、暗号化されているため、コンテンツは表示されません。

はい署名されているため、改ざんが検出されます。

関連する問題