我注意到在用户注册并登录到我的网站后,正在添加一些不在数据库中的默认声明。
如图所示,我们有nameidentifier
,name
和SecurityStamp
这些不在我的数据库中,我猜他们是在登录时添加的。我需要阻止名称声明来自被添加,因为它似乎覆盖了索赔类型name
的索赔,我在用户注册时添加到数据库。
这是我为用户添加注册声明的方式。 (也许我对用户名字使用了错误的声明?)
总而言之,我可以关闭添加的默认声明,还是应该使用不同的声明类型?
答案 0 :(得分:2)
ClaimTypes.Name
通常用于用户名/登录名
ClaimTypes.NameIdentifier
是用户ID。
使用ClaimTypes.GivenName
作为Forename
https://msdn.microsoft.com/en-us/library/system.identitymodel.claims.claimtypes(v=vs.110).aspx
如果没有符合您需求的内置声明类型(例如FullName),也没有什么可以阻止您创建自己的声明类型