我们有一个 WPF 应用程序。我们希望根据用户 AD 组成员资格限制对应用程序的访问。
我们可以将其作为每个视图的属性,或者作为用户启动应用程序时的检查吗?
任何代码示例将不胜感激。
我们有一个 WPF 应用程序。我们希望根据用户 AD 组成员资格限制对应用程序的访问。
我们可以将其作为每个视图的属性,或者作为用户启动应用程序时的检查吗?
任何代码示例将不胜感激。
在 .NET 3.5 及更高版本上执行此操作的最简单方法是使用System.DirectoryServices.AccountManagement
(S.DS.AM) 命名空间。在这里阅读所有相关信息:
基本上,您可以定义域上下文并在 AD 中轻松找到用户和/或组:
// set up domain context
PrincipalContext ctx = new PrincipalContext(ContextType.Domain);
// get your group in question
GroupPrincipal group = GroupPrincipal.FindByIdentity(ctx, "YourGroupNameHere");
// check if current user is member of that group
UserPrincipal user = UserPrincipal.Current;
if(user.IsMemberOf(group))
{
// do something here....
}
新的 S.DS.AM 使得在 AD 中与用户和组一起玩变得非常容易!