【发布时间】:2014-02-15 05:49:44
【问题描述】:
我正在继续其他人的开发,但我对当前 MVC 应用程序中的身份验证实践知之甚少。
关于身份验证的唯一设置是在应用程序的 IIS 配置中:
- .NET 授权规则 = 允许,所有用户
身份验证:
- 匿名身份验证:已启用
- ASP .NET 模拟:已禁用
- Windows 身份验证:已启用
使用此配置,在服务器上,浏览器会要求我输入登录名/密码。我输入我的网络登录名。
然后我可以用Request.RequestContext.HttpContext.User.Identity...识别用户
在本地计算机上,我使用相同的登录名/密码登录:没有用户登录应用程序 (Request.RequestContext.HttpContext.User.Identity.Name == "")。如果我禁用匿名身份验证,浏览器只会无限地重复输入登录密码。
我的第一个问题是我希望能够在服务器上注销。
从我在这里和那里得到的疤痕信息中我已经尝试过:
FormsAuthentication.SignOut(); --> 什么都不做
WebMatrix.WebData.WebSecurity.Logout(); --> 异常,尝试访问数据库(我从 VS2012 模板之一得到了这个,但我认为它不适用于我的上下文)。
if(this.Request.RequestContext.HttpContext.Session != null)
this.Request.RequestContext.HttpContext.Session.Clear(); --> 会话为空,所以什么都不做。
那么,我如何注销才能以其他用户身份重新登录?
(我也希望能够在本地计算机上识别用户,但我认为这应该在另一个主题中提出。)
【问题讨论】:
标签: c# asp.net-mvc-4 authentication logout