Как проверить, если текущий пользователь является администратором или нет

Как я могу проверить в Sitecore, что текущий пользователь является администратором?

что-то типа:

if(User.Current.Name == "extranetAdmin")
// then do some thing ??

5 ответов


Sitecore.Security.Accounts.User класс имеет встроенное свойство IsAdministrator:

    Sitecore.Context.User.IsAdministrator

вы можете просто позвонить Sitecore.Context.IsAdministrator


Это должно сделать то, что вы хотели:

Sitecore.Context.User.IsInRole("extranet\admin")

замечание \ - это побег в C# use "extranet\Admin" и администратор CMS является sitecore\admin

Я полагаю, вам нужно знать своего администратора Экстранета. это хорошая идея делать на основе ролей, может быть несколько администраторов (не уверен, что свойство IsAdministrator хорошо работает для Экстранета)

Sitecore.Context.User.IsInRole("extranet\your extranet admin rol");

Если у вас нет администратора Экстранета rol и не хотите его, то вы можете использовать то, что у вас уже есть if (Sitecore.Context.User.Name == "extranet\Admin")


вы можете попробовать этот код :

var result = Sitecore.Context.User.IsAdministrator;

если администратор вошел в систему результат true, в противном случае результат false.