Asp.net MVC和用户

时间:2013-08-02 06:21:27

标签: asp.net-mvc openid dotnetopenauth

我不明白asp.net mvc如何维护用户状态。 我拿了一个非常简单的mvc4模板并登录谷歌,雅虎和其他注册客户端,没有登录改变我的网址,它总是保持相同像

 http://localhost:180xx/

如何区分两个用户?

1 个答案:

答案 0 :(得分:3)

  

如何区分两个用户?

它使用Forms Authentication,它基本上将当前经过身份验证的用户存储在每个请求发送的cookie中。

表单身份验证的工作方式是,当您(或公共身份提供商,如果您使用OAuth)成功验证用户的凭据时,您的应用程序会向客户端浏览器发出表单身份验证cookie。此cookie包含加密的usermame。然后在每个请求上发送cookie,并且所谓的Forms Authentication HTTP模块(在所有请求之前运行)读取此cookie,对其进行解密并设置HttpContext.User属性,您可以在代码中使用该属性来标识当前已验证的cookie用户:

public ActionResult SomeAction()
{
    var user = this.User;
    // you may use the user.Identity here
    ...
}