asp.net Form授权 不同账户登录失败
网站有几个路径,各个路径下只允许不同的账户来登录。出现了一个问题,比如有两个账户a,b.他们属于不同的角色,只能访问自己对应的页面。现在a用户登录了,但他并没有注销。也就是Form授权信息还在cookie里。现在b用户在同一个浏览器里来登录了,无法登录了,或者说谁也不能登录了。
此问题的原因是Form授权有个安全的检查,会发现发送的cookie里已经带有一个和FormCookieName同名的cookie,出于安全原因拒绝登录。这个问题搞了半天才知道。我无力去更改Form授权的module.就偷下懒,在登录界面加载的时候直接调用Form的signout.这个cooki被写成httponly=true,因此js是无法操作的。因为一般用户不会去记住登录页面的url,往往是用鼠标点击页面的链接。这种情况通常开发人员会遇到吧。目前没有想到好的解决方法。