【问题标题】:Why wont my custom role provider update the roles when I change the database?当我更改数据库时,为什么我的自定义角色提供程序不会更新角色?
【发布时间】:2011-03-09 17:00:10
【问题描述】:

我正在使用 ASP.NET MVC 构建一个小型 CMS 系统,并且我有一个自定义角色提供程序,它使用由使用 Castle Windsor 实现的工厂实例化的 userRepository。

具有管理员权限的人可以使用后端管理更改保存在数据库中的用户角色。

但是,每当我登录刚刚更改角色的用户(我目前使用测试用户)时,角色都不会更新。我尝试注销并再次登录,但没有结果 - 我使用的角色保持不变。我还尝试清除浏览器的缓存和cookie,再次没有结果。

数据库中的数据已正确更新。

我已尝试为登录用户输出角色,因此我可以查看我的自定义角色提供程序中的数据是否已更新,但角色提供程序中的数据看起来保持不变。所以显然角色提供者没有从每个请求的数据库中获取数据。

有趣的是,如果我改变了角色并重新发布了我的网站,那么改变就应该如此。它只是不是每次都重新发布我的网站的选项,管理员更改用户的角色。那不是很动态。

关于为什么会发生这种情况以及如何解决它的任何想法?

【问题讨论】:

    标签: asp.net-mvc castle-windsor roleprovider


    【解决方案1】:

    我猜你的角色提供者是一个单身人士,这是 Windsor 中的默认生活方式,因此取决于你如何实现它,它可能会保存它在第一次请求时提取的数据。 使其成为 PerWebRequest 或瞬态。

    See the documentation for more details on lifestyles.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-20
      • 1970-01-01
      • 1970-01-01
      • 2011-05-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多