Таким способом мы защищаем действие с атрибутом авторизации с определенным именем роли
[Authorize(Roles="members, admin")]
предположим, что пользователи и роли отображаются в таблице базы данных. поэтому, когда пользователь входит в систему, то как я могу прикрепить роль с вошедшим в систему пользователем с использованием идентификатора.
здесь я публикую URL и пример, которые показывают, как люди делают то же самое в mvc4 с пользовательской формой аутентификации. просто посмотрите код, и я надеюсь, что вы наверняка поймете, что я пытаюсь сделать с asp.net mvc 5, используя удостоверение личности.
https://www.codeproject.com/Articles/408306/Understanding-and-Implementing-ASP-NET-Custom-Form
см. этот URL-адрес выше для проверки подлинности с помощью asp.net mvc 4
protected void FormsAuthentication_OnAuthenticate(Object sender, FormsAuthenticationEventArgs e)
{
if (FormsAuthentication.CookiesSupported == true)
{
if (Request.Cookies[FormsAuthentication.FormsCookieName] != null)
{
try
{
//let us take out the username now
string username = FormsAuthentication.Decrypt(Request.Cookies[FormsAuthentication.FormsCookieName].Value).Name;
//let us extract the roles from our own custom cookie
string roles = DBHelper.GetUserRoles(username);
//Let us set the Pricipal with our user specific details
e.User = new System.Security.Principal.GenericPrincipal(
new System.Security.Principal.GenericIdentity(username, "Forms"), roles.Split(';'));
}
catch (Exception)
{
//somehting went wrong
}
}
}
}
Я работаю с asp.net mvc 5 и системой идентификации. Пожалуйста, помогите и направьте меня. спасибо