《Spring Security3》第四章第四部分翻译(Remember me后台存储和SSL)附前四章doc文件
到此,前四章翻译完成,欢迎朋友提些意见!
?
?
?????????????????????????????????
???????????
配置remember me服务持久化到数据库
?????????
?这就是我们所有要做的。现在,如果你重启应用,将不会丢失之前合法用户设置的remember me cookie。?
基于数据库后台的持久化tokens是不是更安全?
????????????????????????????????????????【尽管SSL和TLS是不同的协议(TLS是更成熟的协议),单数大多数人更熟悉SSL这个术语,所以在本书的剩余部分,我们使用这个术语来代指SSL和TLS两个协议。】
详细介绍SSL协议的机制已经超出了本书的范围,有一些很好的书籍和技术论文很详细地介绍了其规范和协议(你可以从RFC:5246:传输安全协议(TLS)Version1.2开始,在以下地址http://tools.ietf.org/html/rfc5246)
配置Apache Tomcat以支持SSL
?????????????????
?按照提示进行如下的输入。输入密码password作为key store和个人密钥的密码。?
【注意的是要执行的是genkeypair命令(在早于java 6的释放版本中要使用keytool的genkey命令)】?????????????????
?确保在上一步中生成的tomcat.keystore文件被copy到了Tomcat安装路径的conf目录下。在配置后,Tomcat服务器可以重启,JBCP???????????????????????????如果此时重启应用,你将会发现:?
l?l??
我们可以想象这种配置对于安全的好处——大多数的现代应用服务器使用一个secure标识session的cookie,所以强制要求登录页是安全的(如果这是应用的session被首次分配的地方)能够保证session的cookie能够被安全的传输,所以出现session劫持的可能性也更小。另外,直接将SSL加密配置在安全声明上的做法,能够很容易的保证应用中所有敏感的页面被适当和完整的保护。
为用户自动切换适当协议(HTTP或HTTPS)的功能,通过Spring Security过滤器链上的另外一个servlet过滤器来实现的(它的位置很靠前,在SecurityContextPersistenceFilter后面)。如果任何URL用requires-channel属性声明使用特定类型的协议,o.s.s.web.access.channel.ChannelProcessingFilter将会自动添加到过滤器链上
????????
?如果你的应用需要超出内置功能的复杂逻辑,ChannelProcessingFilter的设计可以进行扩展和增强。注意我们尽管只在图中说明了SecureChannelProcessor和RetryWithHttpsEntryPoint的实现,但是有类似的类去校验和处理声明为要求HTTP的URL。?????????????????????????
?如果你的应用服务器在反向代理后的话,端口映射将会更加的重要。?
小结
????????l?l?l?l?l?l?????????
![]()
![]()
![]()
![]()
![]()