Ограничить определенные элементы ToolStripMenu для определенных пользователей - PullRequest
0 голосов
/ 23 января 2012

Использование VB.NET 2010:

Я делаю простое приложение запуска для наших рабочих приложений. Я уже создал ToolStripMenu, который содержит меню, которые я хочу. Они будут расположены так:

Файл | Отдел 1 | Отдел 2 | Отдел 3 | Admin | Помощь

Что мне нужно сделать, так это ограничить доступ к меню администратора на основе переменной Environment.UserName. В идеале я бы хотел, чтобы он даже не отображался, но если единственный вариант - сделать его серым, я тоже согласен

1 Ответ

1 голос
/ 23 января 2012
    public Form1() {
        InitializeComponent();
        var id = System.Security.Principal.WindowsIdentity.GetCurrent();
        var prince = new System.Security.Principal.WindowsPrincipal(id);
        adminToolStripMenuItem.Visible = prince.IsInRole(System.Security.Principal.WindowsBuiltInRole.Administrator);
    }

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

...