Сложные имена групп объявлений для проверки подлинности Windows

#c# #asp.net-mvc #razor #asp.net-roles

#c# #asp.net-mvc #razor #asp.net-роли

Вопрос:

Я использую проверку подлинности Windows и группы AD в качестве ролей. Я получил следующее для работы:

 @User.IsInRole("DOMAINADGroupName")
  

После некоторого тестирования кажется, что это работает только с отображаемым именем, а не с псевдонимом группы AD. Большинство групп в нашем домене имеют сложные имена, такие как:

 @User.IsInRole("DOMAIN*DEPT/TEAM/Aamp;BC Developers")
  

Это возвращает значение false, даже если вы находитесь в группе с таким же именем. Как я могу заставить @User.IsInRole("") распознавать такие сложные имена групп?

Ответ №1:

Попробуйте добавить a @ в качестве префикса к вашей строке:

 @User.IsInRole(@"DOMAIN*DEPT/TEAM/Aamp;BC Developers")
  

Или если вы заранее назначаете строку переменной:

 @{
    string group = @"DOMAIN*DEPT/TEAM/Aamp;BC Developers";
}

@User.IsInRole(group)