【问题标题】:Refreshing a sitemap-based menu on ASP.NET site when roles change角色更改时刷新 ASP.NET 站点上基于站点地图的菜单
【发布时间】:2009-09-14 15:08:54
【问题描述】:

我正在使用 ASP.NET Sitemaps 和自定义角色提供程序来生成站点菜单,该菜单根据用户角色显示可用链接。

如果在用户登录时角色没有改变,这很好用。 当用户登录时角色发生变化时,菜单不会自动更新(我已经检查过,并且 Roles.GetRolesForUser() 仅在登录时调用)。这导致用户可以访问他无权查看的站点区域。这种访问不仅是可视的(以显示菜单项的形式),而且 Web.config 中定义的访问限制也不会被强制执行。

有没有办法在角色更改时触发菜单/访问控制刷新?还是我需要强制注销?

提前致谢

编辑:我刚刚意识到我启用了角色管理器 cacheRolesInCookie,这意味着 GetRolesForUser() 只被命中一次,并且任何进一步的角色检查都是使用 cookie 进行的。有什么方法可以以编程方式刷新 cookie,还是我必须关闭缓存?也许只是删除cookie就可以解决它?

【问题讨论】:

    标签: asp.net security sitemap roleprovider


    【解决方案1】:

    选择了非缓存版本,效果很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-11
      • 2012-05-14
      • 1970-01-01
      • 1970-01-01
      • 2013-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多