2010-06-11 5 views
0

В этом приложении winform, которое я пишу, я хочу защитить один пункт меню от большинства пользователей. Он работает на конец месяца и не может быть легко отменен, если он случайно запущен. Параметр меню открывает окно для запроса пользователю некоторой информации перед обработкой. Мне все равно, где именно я делаю чек, но я хочу быть уверенным, что только определенные пользователи могут запускать эту функцию.Защищенные элементы меню на основе пользователя

Поиск в Google (по моему названию вопроса выше) не обнаружил ничего очевидного. Может ли кто-нибудь указать мне в сторону, чтобы забрать, кто подписан в Windows, и как проверить, разрешены ли они?

+0

Как вы решаете «разрешено»? Основано на группе AD? На основе вызова базы данных? Основываясь на переключателе развертывания (например, специальная версия администратора? Все зависит от – Reddog

+0

@Reddog Будет определено ... Пока (для тестирования) он жестко закодирован. Это НЕ последнее решение. –

ответ

3

This page имеет код для получения информации о пользователе и проверки их.

Этот код:

public string GetloggedinUserName() 
{ 
    System.Security.Principal.WindowsIdentity currentUser = 
         System.Security.Principal.WindowsIdentity.GetCurrent(); 
    return currentUser.Name; 
} 

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

Более подробную информацию о классе WindowsIdentity можно найти here.

У этого объекта есть свойство Groups, которое вы можете использовать для проверки членства в группе, а не для проверки отдельных пользователей.

+0

Мне нужно будет поговорите с другими в отделе, чтобы узнать, какой метод они предпочитают. –

Смежные вопросы