我们正在构建一组Web应用程序,它们都使用自己独特的角色提供程序,使用sql server并利用Windows Identity Foundation提供安全令牌服务来使用Active Directory处理成员资格。此解决方案还提供单点登录的好处。一个疏忽只允许用户进行一次会话。跟踪用户是否已经拥有活动会话似乎很容易实现,如果确定用户的会话已经在其他地方登录,那么它是如何处理用户的会话的。
我的问题是,如果用户尝试生成其他会话,建议的杀死现有用户会话的方法是什么?还要建议用户已检测到现有会话,并通过继续,现有会话将被终止。 (这部分也似乎微不足道......)
包含2个网络应用和STS标识应用的示例方案:
似乎还有其他一些发行人要克服,例如......。
任何指导都将不胜感激。
答案 0 :(得分:2)
我们选择在应用程序级别使用存储用户会话ID的简单表来处理并发。如果在其他地方创建了应用程序的新会话,则会终止现有会话,并将使用重定向回STS,并带有消息(在查询字符串中携带),以及它们被重定向回登录页面的原因。 / p>