【发布时间】:2009-08-26 15:28:53
【问题描述】:
我对如何使用 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。但这是不同的看待它的错误方式。
那么你们可以给我一个正确的方向或发布一个链接到一个可以的网站吗?
【问题讨论】:
-
您是否检查过 .Net 文档中的 HttpContext 对象?那将是我首先要看的地方。