Rop*_*tah 9 asp.net authentication roles active-directory active-directory-group
实际上很简单的问题:
我目前禁用了IIS匿名访问,用户使用Windows登录自动登录.但是,调用User.IsInRole("Role name")将返回false.我仔细检查了User.Identity.Name()和"角色名称",它应该返回true.
我目前在我的Web.Config中有这个:
更新
我正在调用User.IsInRole("角色名称"),我应该调用User.IsInRole("DOMAIN\Role name")
但是我仍然想知道是否需要<membership>条目?
我应该改变什么?(是否需要<membership>条目?)
<authentication mode="Windows">
<forms
name=".ADAuthCookie"
timeout="10" />
</authentication>
<membership defaultProvider="ADMembershipProvider">
<providers>
<clear/>
<add
name="ADMembershipProvider"
type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="ADConnectionString"
connectionUsername="XXX\specialAdUser"
connectionPassword="xx"
/>
</providers>
</membership>
<roleManager enabled="true" defaultProvider="WindowsProvider">
<providers>
<clear />
<add name="WindowsProvider" type="System.Web.Security.WindowsTokenRoleProvider" />
</providers>
</roleManager>
Run Code Online (Sandbox Code Playgroud)
如果您使用 Windows 身份验证,IsInRole 将无需额外配置即可工作,只要您记得为角色添加域前缀,即 DOMAIN\groupName。
此外,您可以扮演(双关语)您自己的角色,并针对 SQL 角色提供程序等使用 Windows 身份验证,您不希望您的 AD 中充斥着应用程序的自定义角色。
所以不,您根本不需要提供程序配置。
| 归档时间: |
|
| 查看次数: |
8089 次 |
| 最近记录: |