Я использую реализации проверки подлинности форм по умолчанию в ASP.NET MVC 4.Передача дополнительных данных в WebSecurity
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Login(LoginModel model, string returnUrl)
{
if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
{
//Assign additional data
return RedirectToLocal(returnUrl);
}
// If we got this far, something failed, redisplay form
ModelState.AddModelError("", "The user name or password provided is incorrect.");
return View(model);
}
Это прекрасно работает. Мне нужно передать некоторые дополнительные данные каждому зарегистрированному пользователю, использовать позже, не обращаясь к базе данных еще раз. (например, роли пользователя и детали роли)
Есть ли какая-либо реализация в WebSecurity для этого без использования переменной Session?
Если вы хотите использовать роли для зарегистрированного пользователя, вместо использования [AllowAnonymous] в действии вы можете украсить атрибут [ValueNetAuthorize]. Также вы можете передать разрешение роли следующим образом: [ValueNetAuthorize (Permissions = Roles.View)] У вас должны быть разрешения, определенные в объекте Роли. – user3263194