Spring Security

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功能認證的,就允許訪問
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容