asp.net – 如何追踪过期的WIF fedauth cookies?
尝试跟踪过期的WIF身份验证会话/ cookie时,我遇到了一个有趣的问题.
作为一个背景:该站点是MVC 3,使用与ADFS服务器作为STS信任的Windows Identity Foundation(WIF).整个站点受SSL保护. STS将令牌到期时间设置为60分钟. 当用户手动注销时,我们只需在FedAuth模块上调用SignOut方法: FederatedAuthentication.WSFederationAuthenticationModule.SignOut(false); 这当然会删除FedAuth cookie,但问题出现在这里.如果我用Fiddler捕获这些cookie,我可以在它们的到期时间内将它们重新呈现给网站,并且仍然被视为已登录. 我意识到这是从浏览器的特权位置执行,已经接受了小提琴作为代理…但是客户担心那些实际上没有过期的身份验证cookie会带来很大的安全风险.他们不相信SSL足以保护网站,如果攻击者可以执行MITM攻击,他们可以在用户认为已经注销后使用这些cookie. 我已经解释过如果他们在注销后容易受到攻击,他们在登录时很容易受到攻击,但是他们并不关心… 所以我一直在寻找方法来确保一旦用户注销,与该登录会话相关联的fedauth cookie将被视为已过期. WIF处理程序似乎没有用于跟踪过期令牌的内置机制,我还没有找到与此相关的任何其他内容. 我想这实际上是一个更广泛的问题 – >如何检测一般过期的cookie?有效的cookie是有效的cookie! 显而易见的解决方案是以某种方式在注销后跟踪这些cookie,但是如果可能的话我想避免使用自定义代码路由;作为一个菜鸟,许多安全文献都说要避免自定义编码任何类型的会话机制,因为你可能会弄错它! 是否有人知道ASP.NET中的任何标准解决方案? 提前致谢. 解决方法
您不必保留最近撤销的令牌的服务器端列表.这就是为什么我们通常依靠固有的到期以及HTTPS来防止令牌泄露/被盗.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 强制CamelCase在ASP.NET WebAPI每个控制器
- asp-classic – 经典的asp / asp.net网站 – glo
- ASP.NET CORE下取IP地址
- asp.net-core – 如何将ASP.NET 5(vnext)从Beta5
- asp.net – Oracle中的参数化查询问题
- asp.net-mvc-4 – MVC4自定义OnActionExecuting
- asp.net-mvc – 如何在ASP.NET MVC中显示外键字段
- asp.net-mvc-5 – “确认密码”和“密码”不匹配
- asp.net – 在.cshtml页面上显示所有Session变量
- asp.net-core – 如何使ASP.Net 5参考正常.Net类