发表于: 2017-11-17 22:11:00

0 558


【今日完成】

今天改了两个BUG

一、把邮箱验证码的发送限制取消了,仅仅保留短信的验证限制,依旧是每日3次

二、视频与文章列表的点赞收藏不匹配,已经修复了


把接口文档完善了一下,包括一些入参,还有一些返回值。


理解Spring Security的模块

不管你想使用Spring Security保护哪种类型的应用程序,第一件需要做

的事就是将Spring Security模块添加到应用程序的类路径下。Spring

Security 3.2分为11个模块,如表9.1所示。


9.1.2 过滤Web请求

Spring Security借助一系列Servlet Filter来提供各种安全性功能。你可

能会想,这是否意味着我们需要在web.xml

或WebApplicationInitializer中配置多个Filter呢?实际上,

借助于Spring的小技巧,我们只需配置一个Filter就可以了。

DelegatingFilterProxy是一个特殊的Servlet Filter,它本身所做

的工作并不多。只是将工作委托给一个javax.servlet.Filter实

现类,这个实现类作为一个<bean>注册在Spring应用的上下文中,

如图9.1所示。

图9.1 DelegatingFilterProxy把Filter的处理逻辑委托给Spring应用

上下文中所定义的一个代理Filter bean

如果你喜欢在传统的web.xml中配置Servlet和Filter的话,可以使

用<filter>元素,如下所示:

在这里,最重要的是<filter-name>设置成了

springSecurityFilterChain。这是因为我们马上就会将Spring

Security配置在Web安全性之中,这里会有一个名

为springSecurityFilterChain的Filter

bean,DelegatingFilterProxy会将过滤逻辑委托给它。

如果你希望借助WebApplicationInitializer以Java的方式来配

置Delegating-FilterProxy的话,那么我们所需要做的就是创

建一个扩展的新类:

307

AbstractSecurityWebApplicationInitializer实现了

WebApplication-Initializer,因此Spring会发现它,并用它

在Web容器中注册DelegatingFilterProxy。尽管我们可以重载

它的appendFilters()或insertFilters()方法来注册自己选择

的Filter,但是要注册DelegatingFilterProxy的话,我们并不需

要重载任何方法。

不管我们通过web.xml还是通过

AbstractSecurityWebApplicationInitializer的子类来配

置DelegatingFilterProxy,它都会拦截发往应用中的请求,并

将请求委托给ID为springSecurityFilterChain bean。

springSecurityFilterChain本身是另一个特殊的Filter,它也

被称为FilterChainProxy。它可以链接任意一个或多个其他的

Filter。Spring Security依赖一系列Servlet Filter来提供不同的安全特

性。但是,你几乎不需要知道这些细节,因为你不需要显式声

明springSecurityFilterChain以及它所链接在一起的其他

Filter。当我们启用Web安全性的时候,会自动创建这些Filter。


【明日计划】

部署一下环境,给前端用

继续学习SpringSecurity


【今日收获】

初探了一波SpringSecurity


返回列表 返回列表
评论

    分享到