ASP.NET FormsAuthentication独占登录

时间:2010-01-28 04:30:20

标签: asp.net forms-authentication

我正在一个网站上工作,我从另一个服务获得用户名/哈希密码的提要。当某人成功登录时,我使用FormsAuthentication.SetAuthCookie设置了表单身份验证cookie。

我的客户端不喜欢使用相同凭据记录的多个人。他们希望登录以使任何当前登录的客户端无效。

FormsAuthentication上没有方法告诉服务器“使此名称下的任何其他cookie无效”。 KB900111表明服务器没有维护有效cookie列表。所以我的方法听起来并不好。

有什么替代方案?是时候抛弃表格了吗?

1 个答案:

答案 0 :(得分:0)

不一定。表单身份验证仍然提供了您可能想要的相当多的烘焙功能。也许您可以在每个用户第一次登录时生成并发布Guid,并将其存储在服务器端和cookie中(最好是安全票证)。每次发出请求时,您都会检查以确保用户不仅使用了正确的凭据,还使用了相同的计算机和浏览器(基于您在用户登录时向用户发出的cookie)。你当然必须确保你的Guid在某个时候到期,并确保你在用户退出时清除它。