C# 需要帮助User.Identity.i使用Asp.Net MVC进行身份验证

C# 需要帮助User.Identity.i使用Asp.Net MVC进行身份验证,c#,asp.net,asp.net-mvc,razor,asp.net-mvc-5,C#,Asp.net,Asp.net Mvc,Razor,Asp.net Mvc 5,需要关于如何在User.Identity.IsAuthenticated中声明参数的帮助吗 @if (User.Identity.IsAuthenticated) { if (User.Identity.Name == "admin@admin.com") /*instead of User.Identity.Name, I want to use if(User.Identity.RoleID = 1) { Admin Login Succes

需要关于如何在User.Identity.IsAuthenticated中声明参数的帮助吗

@if (User.Identity.IsAuthenticated)
{
    if (User.Identity.Name == "admin@admin.com")
    /*instead of User.Identity.Name, I want to use
    if(User.Identity.RoleID = 1)
    {
         Admin Login Successfull 
    }  
    else if(User.Identity.RoleID = 2)
    {
          User Login Successfull 
    }  

    Where to declare parameter "RoleID"*/

}

要获取当前登录用户的角色,请使用:

Roles.GetRolesForUser() 

MSDN中用于获取当前登录用户角色的文档使用:

Roles.GetRolesForUser() 

来自MSDN for

的文档您可以创建一个HtmlHelper扩展方法,可以在视图中使用,如下所示:

@Html.LoggedInMessage(User)
这将避免在视图中使用if-else逻辑,但值得注意的是,在当前逻辑中,可能存在属于多个角色的用户实例,除非您的系统对此进行了限制

public static MvcHtmlString LoggedInMessage(this HtmlHelper htmlHelper, IPrincipal user)
{
    var tb = new TagBuilder("span");
    if (user.Identity.IsAuthenticated)
    {
       if(user.IsInRole("Admin"))
       {
            tb.SetInnerText("Admin Login Successfull");
       }
       else if(user.IsInRole("OtherRole"))
       {
            tb.SetInnerText("User Login Successfull");
       }  
    }
    return new MvcHtmlString(tb.ToString());
}

您可以创建一个HtmlHelper扩展方法,可以在视图中使用,如下所示:

@Html.LoggedInMessage(User)
这将避免在视图中使用if-else逻辑,但值得注意的是,在当前逻辑中,可能存在属于多个角色的用户实例,除非您的系统对此进行了限制

public static MvcHtmlString LoggedInMessage(this HtmlHelper htmlHelper, IPrincipal user)
{
    var tb = new TagBuilder("span");
    if (user.Identity.IsAuthenticated)
    {
       if(user.IsInRole("Admin"))
       {
            tb.SetInnerText("Admin Login Successfull");
       }
       else if(user.IsInRole("OtherRole"))
       {
            tb.SetInnerText("User Login Successfull");
       }  
    }
    return new MvcHtmlString(tb.ToString());
}

这是一条好线。[试试这条线][1][1]:这是一条很好的线。[尝试此线程][1][1]: