Sitecore 如何检查当前登录的用户是否为管理员

Sitecore 如何检查当前登录的用户是否为管理员,sitecore,Sitecore,如何在sitecore中签入当前用户是管理员 比如: if(User.Current.Name == "extranet\Admin") // then do some thing ?? 这应该满足您的要求: Sitecore.Context.User.IsInRole(“extranet\admin”) Sitecore.Security.Accounts.User类已内置属性IsAdministrator: Sitecore.Context.User.IsAdministrator 实际上

如何在sitecore中签入当前用户是管理员

比如:

if(User.Current.Name == "extranet\Admin")
// then do some thing ??

这应该满足您的要求:

Sitecore.Context.User.IsInRole(“extranet\admin”)

Sitecore.Security.Accounts.User
类已内置属性
IsAdministrator

Sitecore.Context.User.IsAdministrator

实际上,您可以调用
Sitecore.Context.IsAdministrator
注释\是c#use
“extranet\\Admin”
中的转义,CMS管理员是Sitecore\Admin

我想你需要知道你的外联网管理员。基于角色是个好主意,可以有多个管理员(不确定IsAdministrator属性是否适用于外联网)


如果您没有Extranet管理rol并且不想要它,那么您可以使用您已有的
If(Sitecore.Context.User.Name==“Extranet\\admin”)
您可以尝试以下代码:

var result = Sitecore.Context.User.IsAdministrator;

如果管理员登录,则结果为true,否则结果为false。

如果需要检查他们是否是Sitecore shell中的管理员,则使用Marek的解决方案;如果要检查用户是否具有特定角色,则可以使用IsInRole方法。@IanGraham是对的。Christian的回答也是正确的。注意:这将检查用户是否为其帐户启用了“是管理员”复选框。它不会检查它们是否处于任何类型的管理员角色。如果要特别检查某个用户是否属于某个特定组,则应使用IsInRole。
var result = Sitecore.Context.User.IsAdministrator;