0
我使用app.UseCookieAuthentication
如下(只是一个简单的例子);CookieAuthentication中间件提供的cookie是否安全?
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);
所以生成的cookie将包含有关用户角色的信息。
现在的问题是:这样生成的cookie安全吗?我的意思是ASP.NET以某种方式加密它,所以最终用户不能以某种方式手动修改它,例如,服务器会认为用户是管理员? 服务器会在用户修改Cookie时注意到Cookie被损坏吗?