- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试创建一个应用程序,该应用程序使用
当我最初设置将我的应用程序部署到 IIS7 服务器时,我将站点设置为使用基本身份验证,并使用适当的默认域,对于已分配给授权组的用户来说一切正常。但是,当我尝试将新用户添加到任何授权组时,该用户从未被授权访问该应用程序。除了重新启动机器,我已经完成了所有工作。我重新启动了 IIS,并删除了客户端的所有临时文件和 cookie,但无济于事。
应该指出,这是一个 ASP.Net MVC 应用程序,尽管我认为这不会真正产生任何影响。以下是我的 web.config 中的相关条目:
<!-- use windows authentication -->
<authentication mode="Windows" />
<!-- use the Windows role provider -->
<roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider" />
<!-- global authorization rules -->
<authorization>
<allow roles="admins,contractors"/>
<deny users="*" />
</authorization>
例如,假设我们有一个用户“Domain\joe”,当前不是本地“admins”组的成员,但我们想添加他。我们去添加他,然后当乔尝试登录时,他看到一个错误,表明他没有被授权(在几次登录尝试失败后)。重新启动 IIS 或让 Joe 删除他的 cookie 和其他临时文件都无法解决此问题。
ASP.Net 是否保留某种 secret 角色/组缓存?您如何着手将新用户添加到组中,然后确保角色提供者将看到该用户已添加到组中?
最佳答案
从组中添加或删除用户的时间与 IIS 接收更改的时间之间似乎存在延迟。您可以设置一个注册表值来更改缓存用户身份验证 token 的时间,或者一起禁用缓存。但是,更改此值 (UserTokenTTL) 似乎对 IIS 意识到用户已添加到组所花费的时间没有影响。以下页面包含有关 UserTokenTTL 注册表项的更多信息:http://support.microsoft.com/kb/954864
关于c# - ASP.NET Windows 角色提供程序 (AspNetWindowsTokenRoleProvider) 没有注意到用户被添加到新组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1455487/
我正在尝试创建一个应用程序,该应用程序使用 规则来限制有权访问该应用程序的组。我正在使用 Windows 身份验证和 ASP.NET (AspNetWindowsTokenRoleProvider)
我正在 ASP.NET 中开发一个使用 Windows 身份验证的 Intranet 应用程序。我创建了一个从 Active Directory 域 Controller 获取信息的 AD 类。这就是
我是一名优秀的程序员,十分优秀!