springsecurity的URL過濾和全域性過濾

2021-08-30 09:53:06 字數 1277 閱讀 5508

springsecurity的url過濾和全域性過濾

最近有個需求,需要配置乙個登陸使用者才能訪問專案的資源,也就是說要配置乙個/*形式的鏈結,保護專案中所有的資源,要登入了的使用者才能訪問,

當然是要除開登陸頁面之外。

springsecurity對url過濾是採用的正規表示式,其實一直就在使用springsecurity,只是最近才引起重視。

參考文章:

我採用了anturlpathmatcher簡單路徑匹配,也不去弄regexurlpathmatcher這個正則這個東東,有個簡單路徑匹配應該也夠了。三個原則:

萬用字元:? 匹配任意乙個字元

萬用字元:* 匹配任意多個字元,但不能跨越目錄

萬用字元:** 可以匹配任意多個字元,可以跨越目錄

我這裡只需要這樣使用就行了。

匹配上我不攔截的:

資料庫裡面增加一條我要攔截的:

string localantpath8 = "/**";

listconfiglist8 = new linkedlist();

configlist8.add(new securityconfig("role_all_logon"));

configattributedefinition cad8 = new configattributedefinition(configlist8);

requestkey requestkey8 = new requestkey(localantpath8);

ok了,可以保護/**下所有的資源,不登陸就沒有的玩了,當然,還要保證的就是所有登陸使用者都有role_all_logon這個許可權。

另外這次配置還了解到不少東東。

1./j_spring_security_logout和/j_spring_security_check是不在這攔截之列的。

3.配置匿名訪問使用者可以這樣配置(雖然這次沒有用上)

4.在這裡類裡面org.springside.examples.miniweb.service.security.requestmapfactorybean的linkedhashmap是要順序輸出的

所以,在許可權裡面新增的順序是按照先入先攔截的機率去攔截的。

我的測試類:

public static void main(string args)

for (int i = 0; i < 10; i++)

system.out.println(map1.tostring());

system.out.println(map2.tostring());

}列印出來是:

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...