я создал поставщик пользовательских ролей с помощью следующей перегруженной методы:Пользовательские роли Provider переменных
public override string[] GetRolesForUser(string username)
{
MyAppUser user = userRepository.Get(u => u.Username == username).FirstOrDefault();
//MyAppUser user = userRepository.Get(u => u.Username == "testuser").FirstOrDefault();
if (user == null)
{
string[] roles = new string[1];
roles[0] = "Fail";
return roles;
}
else
{
Role role = roleRepository.Get(r => r.RoleID == user.RoleID).FirstOrDefault();
if (role == null)
{
string[] roles = new string[1];
roles[0] = "Fail";
return roles;
}
else
{
string[] roles = new string[1];
roles[0] = role.Name;
return roles;
}
}
}
При нажатии на раздел сайта, который имеет право только редактора я успешно поражая выше метод при прохождении в имени пользователя непосредственно «testuser», но в остальном мой параметр username всегда пуст. Где этот параметр заполнен? И как это сделать, чтобы мой текущий подписанный пользователь был проверен здесь, у меня есть класс MyAppUser, который содержит данные пользователя, но проверка подлинности выполняется за пределами приложения с помощью ADFS, и поэтому у нас нет аутентификации внутри проекта.