您的位置:首页 > 编程语言 > Java开发

SpringSecurity学习笔记之二:SpringSecurity结构及基本配置

2017-03-05 14:28 495 查看

Spring Security结构

Spring Security3.2分为11个模块,如下表所示:



编写简单的安全性配置

Spring Security3.2引入了新的Java配置方案,完全不在需要通过XML来配置安全性功能。如下,展现了Spring Security最简单的Java配置:

package spitter.config;
......
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter{}


@EnableWebSecurity注解将会启动Web安全功能,但它本身并没有什么功能。Spring Security必须配置在一个实现了WebSecurityConfigurer的bean中,或者扩展WebSecurityConfigurerAdapter,扩展该类是最简单的配置方法。

这样做有以下几点好处:

a、该注解配置了一个Spring MVC参数解析器(argument

resolver),这样处理器方法能够通过带有@AuthenticationPrincipal注解的参数获得认证用户的principal(或username)。

b、它配置了一个bean,在使用Spring表单绑定标签库来定义表单时,这个bean会自动添加一个隐藏的跨站请求伪造token输入域。

我们可以通过重载WebSecurityConfigurerAdapter中的一个或多个方法来指定Web安全的细节。例如WebSecurityConfigurerAdapter的三个configure()方法:configure(WebSecurity)、configure(HttpSecurity)、configure(AuthenticationManagerBuilder),详情如下表:



上面的程序清单中没有重写任何一个configure()方法,所以应用现在是被严格锁定的,没有任何人能够进入系统。为了让Spring Security满足我们应用的需求,还需要再添加一点配置。具体来讲,我们需要:

a、配置用户存储

b、指定哪些请求需要认证,哪些请求不需要认证,以及需要的权限。

c、提供一个自定义的登录页面,替代原来简单的默认登录页。

上一篇:SpringSecurity学习笔记之一:SpringSecurity概述及Github项目克隆

下一篇:SpringSecurity学习笔记之三:配置用户存储
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: