Spring Security模块
模块 |
描述 |
ACL |
支持通过访问控制列表(access control list, ACL)为域对象提供安全性 |
Aspects |
使用Spring Security注解时,会使用基于AspectJ的切面,而不是使用标准的Spring AOP |
CAS Client |
提供与Jasig的中心认证服务(Central Authentication Service)进行集成的功能 |
Configuration |
包含通过XML和Java配置Spring Security的功能支持 |
Core |
提供Spring Security的基本库 |
Cryptography |
提供加密和密码编码功能 |
LDAP |
支持基于LDAP进行验证 |
OpenID |
支持试用OpenID进行集中式认证 |
Remoting |
提供对Spring Remoting的支持 |
Tag Library |
Spring Security的JSP标签库 |
Web |
提供Spring Security基于Filter的Web安全性支持 |
@EnableWebSecurity:启用web安全性
@EnableWebMvcSecurity:使用SpringMVC开发时可替代@EnableWebSecurity。
@EnableWebMvcSecurity还配置了一个SpringMVC参数解析器(argument Resolver),使处理器方法可通过带有@AuthenticationPrincipa注解的参数获得认证用户的principal/username。
重载WebSecurityConfigurerAdapter的configure方法
方法 |
描述 |
configure(WebSecurity) |
配置Spring Security的Filter链 |
configure(HttpSecurity) |
配置如何通过拦截器保护请求 |
configure(AuthenticationManagerBuilder) |
配置user-detail服务 |
配置用户详细信息的方法
方法 |
描述 |
accountexpired(boolean) |
定义账号是否已经过期 |
accountLocked(boolean) |
定义账号是否已经锁定 |
and() |
用来连接配置 |
authorities(GrantedAuthority...) |
授予某个用户一项或多项权限 |
authorities(List<? extends GrantedAuthority>) |
授予某个用户一项或多项权限 |
authorities(String...) |
授予某个用户一项或多项权限 |
credentialsExpired(boolean) |
定义凭证是否过期 |
disabled(boolean) |
定义账号是否被禁用 |
password(String) |
定义用户密码 |
roles(String...) |
授予某个用户一项或多项角色 |
定义如何保护路径的配置方法
方法 |
描述 |
access(String) |
如果给定的SpEL表达式计算结果为true,就允许访问 |
anonymous() |
允许匿名用户访问 |
authenticated() |
允许认证过的用户访问 |
denyAll() |
无条件拒绝所有访问 |
fullyAuthenticated() |
如果用户是完整认证的话(不是通过remember-me功能认证的),就允许访问 |
hasAnyAuthority(String...) |
如果用户具备给定权限中的某一个,就允许访问 |
hasAnyRole(String...) |
如果用户具备给定角色中的某一个,就允许访问 |
hasAuthority(String) |
如果用户具备给定权限,就允许访问 |
hasIpAddress(String) |
如果请求来自给定IP地址,就允许访问 |
hasRole(String) |
如果用户具备给定角色,就允许访问 |
not() |
对其他访问方法结果求反 |
permitAll() |
无条件允许访问 |
rememberMe() |
如果用户是通过Remember-me功能认证的,就允许访问 |
网友评论