2012-01-23 1 views
4

У нас есть приложение WPF. Мы хотели бы переназначить доступ к приложению на основе членства в группе пользователей AD.Ограничить доступ к представлению WPF на основе членства в группе AD

Можем ли мы сделать это как атрибут на каждом представлении или в качестве проверки при запуске приложения пользователем?

Любой пример кода был бы оценен.

+1

В чем же ваша проблема? Запрос AD? Ограничение доступа к представлению на основе определенных критериев? –

+0

Я хочу проверить, является ли пользователь членом группы X, если он не член, я хочу его заблокировать. Возможно, мне просто нужно запросить AD, или, может быть, есть более элегантное решение с некоторым атрибутом, который я могу добавить в представление. –

ответ

5

Самый простой способ сделать это на .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!