如何检查当前用户的角色

ant*_*liu 9 c# asp.net

如何在C#中检查当前用户的角色,并将其打印到屏幕上.

谢谢!

She*_*Pro 16

您可以使用Roles.GetRolesForUser()方法获取用户所属的所有rols.像这样使用它;

string[] rolesuserbelongto = Roles.GetRolesForUser();
Run Code Online (Sandbox Code Playgroud)

你将拥有字符串数组中的所有角色.

您甚至可以将UserName作为参数传递,以获取该特定用户的角色,如下所示:

string[] rolesuserbelongto = Roles.GetRolesForUser("Shekhar_Pro");
Run Code Online (Sandbox Code Playgroud)


Ern*_*ieL 6

最通用的方法是获取IPrinciple,然后在其上调用IsInRole().您如何获得原则依赖于您的运行时环境.此示例适用于在用户帐户下运行的应用程序.

例:

    static void PrintIsInAdministrators()
    {
        // There are many ways to get a principle... this is one.
        System.Security.Principal.IPrincipal principle = System.Threading.Thread.CurrentPrincipal;
        bool isInRole = principle.IsInRole("MyDomain\\MyRole");
        Console.WriteLine("I {0} an Admin", isInRole ? "am" : "am not");
    }
Run Code Online (Sandbox Code Playgroud)