我是ASP.NET MVC程序员,我已经研究过如何在我的项目中采用基于请求的身份验证。
基于声明的身份验证似乎试图提供各种类型的信息以及令牌,但我想问一下它的使用范围。
正如我们可以看到的ClaimTypes [MSDN],索赔可以有一个角色,隐私相关的信息(姓氏,省,手机),或电脑友好型信息(CookiePath)等。
它们都存储在数据库(AspNetUserClaims)中的类型值列表中。我认为这是信息范围的混合体。有什么理由这样设计吗?或者,把隐私信息写在索赔书里不是很危险吗?(我知道“如果你觉得危险就不要使用”,但设计可以引领它的使用。)
发布于 2014-05-25 10:48:33
声明与隐私无关,如果信息已经存储在服务器端,那么即使您不使用声明,隐私问题也可能发生。
索赔被用来授权传入的请求。想想你的身份证或护照之类的索赔。
首先,签发人需要时间仔细验证您的身份并签发文件(id、护照、索赔集)。然后,其他相关方只需依赖这些信息,而无需进一步对用户进行身份验证。因此,如果我的身份证上写着我40岁,而依赖方信任我身份证的发行者,那么依赖方就假设我已经40岁了。
这也意味着,当应用程序发出声称存储在cookie中以建立会话的声明时,您实际上不需要所有那里的信息,包括移动电话的数量、鞋的大小或超速罚单的最后日期。
相反,您只发布这些声明,这些声明是某种授权所需要的。需要电子邮件地址吗?把它写在索赔中。不需要牧师吗?排除它。
https://stackoverflow.com/questions/23854094
复制相似问题