Ограничение доступа к представлению WPF на основе членства в группе AD

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

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

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


person Shiraz Bhaiji    schedule 23.01.2012    source источник
comment
В чем именно ваша проблема? Запрос объявления? Ограничение доступа к представлению на основе определенных критериев?   -  person Daniel Hilgarth    schedule 23.01.2012
comment
Я хочу проверить, является ли пользователь членом группы X, если он не является членом, я хочу его заблокировать. Может быть, мне просто нужно запросить AD, или, может быть, есть более элегантное решение с каким-то атрибутом, который я могу добавить к представлению.   -  person Shiraz Bhaiji    schedule 23.01.2012


Ответы (1)


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

person marc_s    schedule 23.01.2012