C# 如何使用Active Directory角色设置控件可见性

C# 如何使用Active Directory角色设置控件可见性,c#,active-directory,C#,Active Directory,我有一个windows窗体,我想有两种模式。1具有供普通用户使用的基本界面和带有多个控件的管理员模式。我希望这些控件的可见性基于用户登录时解析的Active Directory角色。 是否可以在每个控件的基础上使用 [授权(Roles=“ABC\Dashboard Admins”] 属性,如果是的话,它将放在哪里?我认为您不能通过使用属性来操纵控件。 但是,如果您正在创建UserControl,那么在构造函数中应用AD角色规则如何 大概是这样的: class AuthButton : Butto

我有一个windows窗体,我想有两种模式。1具有供普通用户使用的基本界面和带有多个控件的管理员模式。我希望这些控件的可见性基于用户登录时解析的Active Directory角色。 是否可以在每个控件的基础上使用

[授权(Roles=“ABC\Dashboard Admins”]


属性,如果是的话,它将放在哪里?

我认为您不能通过使用属性来操纵控件。 但是,如果您正在创建UserControl,那么在构造函数中应用AD角色规则如何

大概是这样的:

class AuthButton : Button
    {
        public AuthButton()
        {
            var principal = new WindowsPrincipal(WindowsIdentity.GetCurrent());
            this.Visible = principal.IsInRole("License_Users");
        }
    }