Spring Security的配置使用

2021-09-19 19:42:12 字數 2450 閱讀 6342

1.spring security簡要介紹

spring security以前叫做acegi,是後來才成為spring的乙個子專案,也是目前最為流行的乙個安全許可權管理框架,它與spring緊密結合在一起。

spring security關注的重點是在企業應用安全層為您提供服務,你將發現業務問題領域存在著各式各樣的需求。銀行系統跟電子商務應用就有很大的不同。電子商務系統與企業銷售自動化工具又有很大不同。這些客戶化需求讓應用安全顯得有趣,富有挑戰性而且物有所值。spring security為基於j2ee的企業應用軟體提供了一套全面的安全解決方案。

2.為spring security配置過濾器和其他引數

要使用spring security,首先就是在web.xml中為它配置過濾器, 其次因為我的spring配置檔案是放在web-inf下的,因此還要配置上下文的引數,最後新增spring的***:

<?xml version="1.0" encoding="utf-8"?>  

xmlns:xsi=""

contextconfiglocation

/web-inf/spring-*.xml

springsecurityfilterchain

org.springframework.web.filter.delegatingfilterproxy

/*

org.springframework.web.context.contextloaderlistener

index.jsp

basic

3.配置security(spring-security.xml)

<?xml version="1.0" encoding="utf-8"?>  

4.資料來源的配置(spring-common.xml)

<?xml version="1.0" encoding="utf-8"?>  

5.專案的目錄結構

6. 資料庫指令碼

/-- 注意這裡的指令碼是mysql的,因此在你演示這個例項的時候,要加入mysql的驅動包 --/  

create table users

( username varchar(50) primary key,

password varchar(50),

enabled tinyint(1)

);

create table authorities

( id int auto_increment primary key,

username varchar(50),

authority varchar(50),

constraint fk_authorities_users foreign key(username) references users(username)

);

create unique index ix_auth_username on authorities (username,authority);

7.部署和配置的要點說明這是乙個spring security的資料庫認證例項,要注意以下幾點:

(1)請自行加入spring必須的包,spring security的包和mysql的驅動包,當然你也可以換成其他的資料庫,但是你要相應的修改spring-common.xml中的datasource部分

(2)資料庫中的兩個表users,authorites必須完全按照指令碼所示來定義,也就是說表的名字不能修改.

(3)users表必須包含username,password,enabled欄位,這三個欄位是絕對不能少的,也不能修改型別.另外enabled一定要為1才能登入

(4)authorities表必須包含username欄位,這個字段引用users的username作為外來鍵,authority欄位就是角色的名字,角色名字必須滿足role_***的格式(例如:role_admin,role_user,role_mamager)

(5)如果乙個使用者有多個角色,不要將多個角色放在一起用逗號隔開.而是每個角色定義一條記錄(例如:abu有role_admin,role_user兩個角色,那麼應該定義兩條記錄: 一條為abu, role_user,另一條為abu, role_admin.而不是只有一條:abu, role_admin,role_user)

(6)你可以給authorities表新增乙個id欄位作為主鍵.

Spring Security結合CAS的配置

在我的幾個專案裡需要用到單點登入,我選用了cas,下面給出乙個一般性的spring security結合cas的配置檔案 附加說明 drop table if exists uc users create table uc users username varchar 32 not null,pas...

Spring Security的基本使用

是乙個能夠為基於 spring 的企業應用系統提供宣告式的安全訪問控制解決方案的安全框架。它提供了一組可以在 spring 應用上下文中配置的 bean,充分利用了 spring ioc,di 控制反轉 inversion of control di dependencyinjection 依賴注入...

Spring Security的基本使用

這個 會把過濾到請求自動轉到 springsecurityfilterchain 這個類裡面,這個是spring security的乙個處理類 這個過濾器要配置 springsecurityfilterchain 這裡的name固定要是springsecurityfilterchain,因為他是se...