shiro 與 web 的結合

2021-09-07 06:33:42 字數 2231 閱讀 5683

本次使用的jar包為

shiro-core-1.2.4

.jar

shiro-web-1.2.4.jar

從shiro 1.2開始引入了environment/webenvironment的概念,即由它們的實現提供相應的securitymanager及其相應的依賴。shirofilter會自動找到environment然後獲取相應的依賴。

class>org.apache.shiro.web.env.environmentloaderlistenerclass>  

通過environmentloaderlistener來建立相應的webenvironment,並自動繫結到servletcontext,預設使用iniwebenvironment實現。

可以通過如下配置修改預設實現及其載入的配置檔案位置:

shiroenvironmentclass  

org.apache.shiro.web.env.iniwebenvironment

shiroconfiglocations

classpath:shiro.ini

shiroconfiglocations預設是「/web-inf/shiro.ini」,iniwebenvironment預設是先從/web-inf/shiro.ini載入,如果沒有就預設載入classpath:shiro.ini。

[main]  

#預設是/login.jsp

authc.loginurl=/login

roles.unauthorizedurl=/unauthorized

perms.unauthorizedurl=/unauthorized

[users]

zhang=123,admin

wang=123[roles]

admin=user:*,menu:*[urls]

/login=anon

/unauthorized=anon

/static

/**=anon

/authenticated=authc

/role=authc,roles[admin]

/permission=authc,perms["user:create"]

其中最重要的就是[urls]部分的配置,其格式是: 「url=***[引數],***[引數]」;即如果當前請求的url匹配[urls]部分的某個url模式,將會執行其配置的***。比如anon***表示匿名訪問(即不需要登入即可訪問);authc***表示需要身份認證通過後才能訪問;roles[admin]***表示需要有admin角色授權才能訪問;而perms["user:create"]***表示需要有「user:create」許可權才能訪問。

url模式使用ant風格模式

ant路徑萬用字元支援?、*、**,注意萬用字元匹配不包括目錄分隔符「/」:

?:匹配乙個字元,如」/admin?」將匹配/admin1,但不匹配/admin或/admin2;

*:匹配零個或多個字串,如/admin*將匹配/admin、/admin123,但不匹配/admin/1;

**:匹配路徑中的零個或多個路徑,如/admin/**將匹配/admin/a或/admin/a/b。

url模式匹配順序

url模式匹配順序是按照在配置中的宣告順序匹配,即從頭開始使用第乙個匹配的url模式對應的***鏈。如:

/bb/**

=filter1

/bb/aa=filter2

/**=filter3

如果請求的url是「/bb/aa」,因為按照宣告順序進行匹配,那麼將使用filter1進行攔截。

/authenticated=authc

/role=authc,roles[admin]

/permission=authc,perms["user:create"]

authc.loginurl=/login

Shiro許可權認證Web

目錄 shiro內建的過濾器講解 filter配置路徑 shiro 資料安全之資料加解密 1.核心過濾器類 defaultfilter,配置哪個路徑對應哪個 進行處理 2.authc org.apache.shiro.web.filter.authc.formauthenticationfilter...

axis2與web專案結合

axis2和已有web專案整合 有乙個最簡單的方法就是把axis2.war中的內容作為web project的基礎,來進行開發.不過為了更清楚的了解如何在乙個已有的web project中嵌入axis2,那就手動來配置。大致分如下幾個步驟 一 新建web project,名為 webserviced...

Shiro學習 五 Web整合

一 簡介 shiro與web整合,主要是通過配置乙個shirofilter攔截所有url,其中shirofilter類似於如struct2 springmvc這種web框架的前端控制器,是所有請求的入口點,負責根據配置 如ini配置檔案 判斷請求進入url是否需要登入 許可權等工作。請求會經過shi...