我有asp.net web应用程序,如何检查当前登录的用户(客户端)是否在特定的Active Directory组中。 谢谢asp.net web应用程序 - 检查用户是否存在于Active Directory组中
回答
请尝试以下方法。只需根据自己的需要改变它...
public List<string> GetGroupNames(string userName)
{
var pc = new PrincipalContext(ContextType.Domain);
var src = UserPrincipal.FindByIdentity(pc, userName).GetGroups(pc);
var result = new List<string>();
src.ToList().ForEach(sr => result.Add(sr.SamAccountName));
return result;
}
嗨Leniel,谢谢你的快速回复。我只是复制你的代码运行在简单的web应用程序上。这给了一个错误 - {“未知的错误(0x80005000)”},我错过了什么? – Yogesh 2011-05-30 16:11:12
@Yogesh:检查此:http://www.lansweeper.com/forum/yaf_postsm8519_Active-directory-computer-lookup-Unknown-error-0x80005000.aspx这是一个相当广泛的错误。如果您在Google中搜索此未知错误,您会遇到很多可能的问题... – 2011-05-30 16:17:07
这需要** .NET 3.5 **或更高版本 - 不适用于2.0或3.0。另外:Web应用程序正在运行的用户需要具有至少读取AD的权限。 – 2011-05-30 16:20:56
试试这个(只适用于ASP.NET,但类似的调用可用于Windows应用程序)
if (HttpContext.Current.User.IsInRole("RoleName"))
{
return true;
}
else
{
return false;
}
希望这有助于
哈维Sather
- 1. 检查用户名是否存在于Microsoft Azure Active Directory中
- 2. 检查用户是否存在于Active Directory中
- 3. 检查用户是否存在于Active Directory中
- 4. Active Directory检查用户是否登录
- 5. 如何检查当前登录用户是否存在于Active Directory中
- 6. 检查Azure Active Directory中是否存在用户B2C
- 7. 检查用户登录在Java应用程序中的Active Directory
- 8. 查找用户是否为Active Directory组ASP.NET VB的成员?
- 9. 使用Active Directory验证在ASP.NET Core web应用程序中创建用户
- 10. Active Directory用户检查
- 11. 如何检查Active Directory组是否是另一个Active Directory组的成员
- 12. ASP.NET:在任何Active Directory中创建用户的应用程序
- 13. 限制应用程序到Active Directory组
- 14. 检查是组已存在于Active Directory中
- 15. 从Web应用程序访问Active Directory
- 16. 全球与通用Active Directory组访问的Web应用程序
- 17. ASP.NET Web窗体应用程序中的Active Directory
- 18. Azure Active Directory |多租户应用程序
- 19. 使用C#检查当前容器中是否存在Active Directory组
- 20. 如何使用CMD或Perl检查Active Directory中是否存在组名称
- 21. 在.Net应用程序中使用Active Directory Web服务
- 22. 检测用户是否必须重置密码在Active Directory中
- 23. 获取Active Directory中的用户组
- 24. 在客户端OWIN的Web应用程序中实现Azure的Active Directory验证
- 25. 如何验证用户是否属于C#.NET中的Active Directory用户组。
- 26. 看看用户是否是C#+ Asp.net中的Active Directory组的一部分
- 27. 确定用户是否在Active Directory组中
- 28. 来自C#web应用程序的Active Directory查询 - SQL中的存储权限
- 29. iOS - 检查图像是否存在于应用程序包中
- 30. 检查用户是否存在于mysql
很好的答案,但未来的参考收到{“未知错误(0x80005000)”}实施。通过将域添加到以下行来修复:var pc = new PrincipalContext(ContextType.Domain,Environment.UserDomainName); – 2013-02-07 03:29:59