Я действительно теряюсь в том, как использовать HttpContext.User. Я везде читал, что он отлично подходит для FormAutherication, но я просто не вижу, как это работает. Если я сделаю что-то вроде этого:
ControllerContext.HttpContext.User = new GenericPrincipal(GetUser(username, password), roles);
Что содержит ControllerContext.HttpContext.User? и как мне получить доступ к информации о пользователе таким образом?
Я думаю, что у меня есть Действие, подобное этому:
public User GetUser(string username, string password)
{
try
{
var user = (from u in dm.Users
join r in dm.Roles
on u.Role_ID_FK equals r.RoleID
where u.Username.Equals(username) && u.Password.Equals(password)
select u).Single();
return user;
}
catch (Exception e)
{
return null;
}
}
И затем, если мне нужна информация о пользователе в моем представлении, такая как имя пользователя или роль, я могу вызвать ControllerContext.HttpContext.User.Username в моем представлении. Но это совершенно неправильный взгляд на это.
Так вы, ребята, можете дать мне пинок в правильном направлении или опубликовать ссылку на сайт, который может?