Spring Security模塊
模塊 | 描述 |
---|---|
ACL | 支持通過訪問控制列表(access control list, ACL)為域?qū)ο筇峁┌踩?/td> |
Aspects | 使用Spring Security注解時投慈,會使用基于AspectJ的切面已旧,而不是使用標(biāo)準(zhǔn)的Spring AOP |
CAS Client | 提供與Jasig的中心認(rèn)證服務(wù)(Central Authentication Service)進(jìn)行集成的功能 |
Configuration | 包含通過XML和Java配置Spring Security的功能支持 |
Core | 提供Spring Security的基本庫 |
Cryptography | 提供加密和密碼編碼功能 |
LDAP | 支持基于LDAP進(jìn)行驗(yàn)證 |
OpenID | 支持試用OpenID進(jìn)行集中式認(rèn)證 |
Remoting | 提供對Spring Remoting的支持 |
Tag Library | Spring Security的JSP標(biāo)簽庫 |
Web | 提供Spring Security基于Filter的Web安全性支持 |
@EnableWebSecurity:啟用web安全性
@EnableWebMvcSecurity:使用SpringMVC開發(fā)時可替代@EnableWebSecurity。
@EnableWebMvcSecurity還配置了一個SpringMVC參數(shù)解析器(argument Resolver)忆绰,使處理器方法可通過帶有@AuthenticationPrincipa注解的參數(shù)獲得認(rèn)證用戶的principal/username闸与。
重載WebSecurityConfigurerAdapter的configure方法
方法 | 描述 |
---|---|
configure(WebSecurity) | 配置Spring Security的Filter鏈 |
configure(HttpSecurity) | 配置如何通過攔截器保護(hù)請求 |
configure(AuthenticationManagerBuilder) | 配置user-detail服務(wù) |
配置用戶詳細(xì)信息的方法
方法 | 描述 |
---|---|
accountexpired(boolean) | 定義賬號是否已經(jīng)過期 |
accountLocked(boolean) | 定義賬號是否已經(jīng)鎖定 |
and() | 用來連接配置 |
authorities(GrantedAuthority...) | 授予某個用戶一項(xiàng)或多項(xiàng)權(quán)限 |
authorities(List<? extends GrantedAuthority>) | 授予某個用戶一項(xiàng)或多項(xiàng)權(quán)限 |
authorities(String...) | 授予某個用戶一項(xiàng)或多項(xiàng)權(quán)限 |
credentialsExpired(boolean) | 定義憑證是否過期 |
disabled(boolean) | 定義賬號是否被禁用 |
password(String) | 定義用戶密碼 |
roles(String...) | 授予某個用戶一項(xiàng)或多項(xiàng)角色 |
定義如何保護(hù)路徑的配置方法
方法 | 描述 |
---|---|
access(String) | 如果給定的SpEL表達(dá)式計算結(jié)果為true毙替,就允許訪問 |
anonymous() | 允許匿名用戶訪問 |
authenticated() | 允許認(rèn)證過的用戶訪問 |
denyAll() | 無條件拒絕所有訪問 |
fullyAuthenticated() | 如果用戶是完整認(rèn)證的話(不是通過remember-me功能認(rèn)證的),就允許訪問 |
hasAnyAuthority(String...) | 如果用戶具備給定權(quán)限中的某一個践樱,就允許訪問 |
hasAnyRole(String...) | 如果用戶具備給定角色中的某一個厂画,就允許訪問 |
hasAuthority(String) | 如果用戶具備給定權(quán)限,就允許訪問 |
hasIpAddress(String) | 如果請求來自給定IP地址拷邢,就允許訪問 |
hasRole(String) | 如果用戶具備給定角色袱院,就允許訪問 |
not() | 對其他訪問方法結(jié)果求反 |
permitAll() | 無條件允許訪問 |
rememberMe() | 如果用戶是通過Remember-me功能認(rèn)證的,就允許訪問 |