我在我的项目周围包装了一些代码以启用用户身份验证。它似乎正在使用FormsAuthentication
以及.NetCasAuthentication
. 当用户想要登录时,我将他们重定向到URL 保存在
的外部DotNetCasClient.CasAuthentication.FormsLoginUrl
页面,并且在成功登录尝试后设置User.Identity
对象。到现在为止还挺好。
现在,我如何正确注销用户?
我试过了
FormsAuthentication.SignOut()
- 按照此处的建议使几个 cookie 过期
- 甚至明确地取消 User 对象:
HttpContext.Current.User = new GenericPrincipal(new GenericIdentity(string.Empty), null);
但是当我向我的应用程序发送另一个请求时,它仍然能够在某处找到该用户的信息。
CasAuthentication 是否保存到 cookie 中?还是更有可能它位于外部登录页面定义的某个独特位置?我可以选择重定向到相应的外部注销页面,但如果不重定向到它并离开我的应用程序,我不知道该怎么做,而且我不想这样做。
谢谢阅读。