有条件地检查用户是否已登录 Umbraco



如何检查用户是否从视图(.cshtml(登录到umbraco?

我也会知道如何检查用户角色。

User.Identity.IsAuthenticated总是返回 false。

if( User has role = "someRole" )  
{  
    do stuff
}

我使用本布拉科版本:7.8.1

我发现这段代码适用于我的应用程序:

var auth = new HttpContextWrapper(HttpContext.Current).GetUmbracoAuthTicket();  
if (auth != null)
  { <p>Name: @auth.Name</p>
    <p>ID: @auth.UserData</p>
  }

资源:"Umbraco.Web.UmbracoContext.Current.Security.CurrentUser"为前端请求返回"null">

如果

User.Identity.IsAuthenticated为假,则在成功验证用户后,您可能没有调用FormsAuthentication.SetAuthCookie(username, true);

要检查身份验证和角色,请使用:

var userIsAuthenticated = Request.IsAuthenticated;
var userIsAdmin = User.IsInRole(role: "admin");

要检查 Umbraco 用户是否在前端登录,我正在使用这个:

var isLoggedInUmbraco = userTicket.GetUmbracoAuthTicket()!=null;
//To add a Umbraco edit link on a page:
if(isLoggedInUmbraco){
<a href="/umbraco/#/content/content/edit/@Model.Content.Id">Edit Page</a>
}

最新更新