本文主要是介绍Storing the SecurityContext between requests,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Storing the SecurityContext between requests
根据不同的应用程序类型,在用户操作的过程中需要有合适的策略来保存security信息。在一个典型的web应用中,一个用户登录系统之后就会被一个特有的session id所唯一标识,服务器会将session作用期间的principal数据保存在缓存中。在Spring Security中,保存SecurityContext的任务落在了SecurityContextPersistenceFilter身上,它默认将上下文当做HttpSession属性保存在http请求中,并且将每一个请求的上下文保存在SecurityContextHolder中,最重要的功能,是在请求结束之后,清理SecurityContextHolder。你不需要处于安全的目的直接和HttpSession打交道,在这里仅仅只是不需要那样做--总是使用SecurityContextHolder来代替HttpSession。
许多其他的应用(举个例子:一个无状态的RESTful风格web服务)不使用Http Session并且每次请求过来都会进行验证。然而比较重要的是:SecurityContextPersistenceFilter被包含在了过滤器链中,并确保每次请求完毕之后清理SecurityContextHolder。
参考资料来自《Spring Security Reference Documentation(3.1)》,下载地址:http://download.csdn.net/detail/u010009900/9169039
这篇关于Storing the SecurityContext between requests的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!