我以前从未在Vb.Net中从事过授权工作。因此,下面的问题对于高级程序员来说可能听起来很愚蠢。请道歉。
我正在尝试获取已登录用户的Active Directory组列表。有人告诉我,Roles.GetRolesForUser()是实现它的最好方法。我在我的web.config中写了下面的代码。
<roleManager
enabled="true"
cacheRolesInCookie="true" >
</roleManager>并在后台代码中添加了以下代码。
Dim userRoles As String() = Roles.GetRolesForUser()我看到userRoles.length是0。我已验证用户是否具有多个与关联的active directory组。这要么是因为我在web.config中设置的配置是错误的,要么是因为这不是获取此用户的所有active directory组的方法。如有任何建议,欢迎光临。
发布于 2012-08-04 00:30:23
要么我太傻了,不能理解Roles.GetRolesForUser(),要么配置它真的很难。:)
我使用IsInRole()方法解决了这个问题。我知道访问我的应用程序的可能的ADGroups,并将其作为web.config中的一个可配置项。然后使用String.Split(),然后使用HttpContext.Current.User.IsInRole()手动检查以验证用户是否可以访问该应用程序。
https://stackoverflow.com/questions/11194798
复制相似问题