首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >缓存Roles.GetRolesForUser()结果

缓存Roles.GetRolesForUser()结果
EN

Stack Overflow用户
提问于 2009-07-01 21:45:54
回答 1查看 1.4K关注 0票数 1

当我运行Roles.GetRolesForUser("username")时,角色被正确返回,但是,如果我将用户添加到AD中的角色中,结果不会显示,直到我将该用户从他们的系统中注销,并让他们重新登录。

有没有办法让系统每次都重新检查?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-07-01 21:56:37

如果您正在使用内置的角色提供程序,则可以在web.config中使用一个设置来更改此设置: cacheRolesInCookie。我相信这在默认情况下是正确的。

当然,这需要在每次发生角色查找时进行数据库查找(当然,如果您使用的是db ),因此这可能不是一个好主意。否则,我认为您必须编写自己的提供程序,这非常容易。只需创建一个继承自RoleProvider的新类,并提供您自己的实现。您可以在您的实现中处理(或不处理)缓存。

如果您想查看内置角色提供程序的内部工作原理,请下载Reflector。这是一个很棒的工具。

编辑

对不起,我重新阅读并注意到您正在使用AD。因此,只需对web.config中的提供程序设置进行更改即可。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1071541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档