GetRoles()
возвращает IList
. Этот список может содержать или не содержать элементы. Если он не содержит никаких ролей, его длина будет равна 0, поэтому доступ к его члену по индексу 0 завершится неудачей.
Вы можете использовать
if(s.Contains("Admin"))
{
return true;
}
return false;
Также: Вы не можете быть уверены, что даже если пользователь является администратором, в коллекции возвращенных ролей есть «Admin» с индексом 0. Что, если она не упорядочена в алфавитном порядке или если есть роль перед вызовом Admin » _admin». Ваш код вернет ложный результат.