需要帮助如何在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"*/
}
答案 0 :(得分:0)
答案 1 :(得分:0)
您可以创建一个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());
}