Определить, принадлежит ли пользователь к определенной группе AD с использованием .Net

Есть еще один способ, если вы не хотите прокручивать элементы управления «ALL», как предположил Джо Дабонс. Сделайте функцию в Form2 и вызовите ее из Form1.

public partial class Form2 : Form
{
    public Form2()
    {
        InitializeComponent();
    }

    public void SetIndex(int value)
    {
        lsbMyList.SelectedIndex = value;
    }
}

public partial class Form1 : Form
{
    public Form2 frm;

    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        frm=new Form2();
        frm.Show();
    }

    private void button1_Click(object sender, EventArgs e)
    {
        frm.SetIndex(Int.Parse(textBox1.Text));
    }
}
13
задан kwatford 11 June 2010 в 23:50
поделиться

2 ответа

2
ответ дан 1 December 2019 в 07:38
поделиться

Если вы проверяете текущего пользователя и знаете имя нужной вам группы, вам не нужно перечислять все группы. Вот пример кода на VB.NET:

Public Function IsInGroup(ByVal GroupName As String) As Boolean
    Dim MyIdentity As System.Security.Principal.WindowsIdentity = System.Security.Principal.WindowsIdentity.GetCurrent()
    Dim MyPrincipal As System.Security.Principal.WindowsPrincipal = New System.Security.Principal.WindowsPrincipal(MyIdentity)
    Return MyPrincipal.IsInRole(GroupName)
End Function

Аналогично на C#:

private static bool IsInGroup(string GroupName)
{
    System.Security.Principal.WindowsIdentity MyIdentity = System.Security.Principal.WindowsIdentity.GetCurrent();
    System.Security.Principal.WindowsPrincipal MyPrincipal = new System.Security.Principal.WindowsPrincipal(MyIdentity);
    return MyPrincipal.IsInRole(GroupName);
}

Больше примеров можно найти в документации WindowsIdentity, если вам нужно настроить его для проверки членства другого пользователя или чего-либо еще.

33
ответ дан 1 December 2019 в 07:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: