MVC 5目前声称授权和更新声明

时间:2014-01-28 16:43:09

标签: .net-4.5 asp.net-mvc-5 roles asp.net-identity claims

我对这些说法有两个问题:

1)在.Net 4.5和MVC 5中,当您在控制器AuthorizeAttirubte上设置时,microsoft如何实现自动化,是否检查数据库以获取用户角色?或者它使用索赔?

我在某处读过微软每次都使用数据库来验证角色,他们建议编写一个新的AuthorizeAttribute来实现声明身份验证。

这是我正在谈论的文章:http://kevin-junghans.blogspot.be/2013/10/improving-performance-of.html

或者它已过时,现在微软是否在声明中使用了角色?

2)关于更新索赔的第二个问题:

想象一下,当用户登录时,我将他的显示名称设置为声明。用户可以更改他的显示名称,因此他更改了它,但他仍然看到了他的旧显示名称,直到他重新登录网站。

以某种方式更新索赔是否正确....?怎么做?

1 个答案:

答案 0 :(得分:4)

  1. authorize属性使用User.Identity之类的东西,如IsAuthenticated / IsUserInRole,它间接查看声明。数据库访问基于何时刷新登录cookie而不是授权检查,因此其正交。
  2. 生成登录Cookie时会更新声明(数据库命中)。要强制更新声明,您只需在强制更新的用户中辞职。