GetClaimsAsync与GenerateUserIdentityAsync用于添加自定义声明

时间:2017-08-03 10:13:47

标签: asp.net asp.net-mvc asp.net-identity claims-based-identity httpcontext

我想在用户身份登录时添加自定义声明,以便将其作为生成的身份验证Cookie中的声明包含在内,并且如果在登录后声明存在,则会重定向用户。

我不希望此声明最终出现在AspNetUserClaims表中。

我目前正在使用GetClaimsAsync来获取基本声明,然后只需添加自定义声明。但是,当我尝试在登录操作结束时调用Request.RequestContext.HttpContext.User时,该自定义声明不存在。我应该使用GenerateUserIdentityAsync吗?

由于

1 个答案:

答案 0 :(得分:1)

是否与this question中的问题相同?

另外,如果您要添加自定义声明,最好在ApplicationUser.GenerateUserIdentityAsync方法中添加。您可以在其他地方添加声明,但下次SecurityStampValidator重新生成Cookie时会覆盖此声明。