本次使用的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實現。
可以通過如下配置修改預設實現及其載入的配置檔案位置:
shiroenvironmentclassorg.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...