專案許可權控制的管家 Apache Shiro框架

2021-07-24 15:38:10 字數 2116 閱讀 6391

在學習apache shiro框架之前,我們要清楚apacheshiro框架能夠幫助我們完成什麼功能呢?以下就是apache shiro框架所能做的事情:

1、  驗證使用者。

2、  在任何環境下都可以使用sessionapi。

3、  可以使用多個使用者資料庫。例如乙個是oracle資料庫,另外乙個是masql資料庫。

4、  對使用者執行訪問控制,如:判斷使用者是否擁有角色admin或者判斷使用者時候擁有訪問的許可權。

5、  單點登入(sso)功能

apache shiro框架提供的許可權控制的方式:

1、  url***進行許可權控制(框架提供了很多過濾器進行url攔截)

2、  方法註解進行許可權控制(框架提供了在方法上使用的註解,為action建立**物件,進行許可權控制)

3、  頁面標籤許可權控制(框架提供了一套完整標籤,用於根據許可權展示或者隱藏按鈕或者選單)

4、  **級別許可權控制(不常使用)

以下是我從網上找到的乙個shiro框架執行流程圖:

subject:當前使用者

securitymanager:安全管理器,管理所有的使用者,認證、授權等。

realm:安全資料橋,類似於dao,負責訪問安全資料(安全的是資料指使用者名稱 密碼 許可權等。)

shiro框架在專案中的應用:

第一步:在web.xml中配置乙個過濾器**物件。

shirofilter

org.springframework.web.filter.delegatingfilterproxy

/*

第二步:在spring配置檔案中配置乙個名稱為shirofilter的bean。

/css/** = anon    

/images/** = anon

/js/** = anon

/validatecode.jsp* = anon

/login.jsp = anon

/useraction_login.action = anon

/page_base_staff.action = perms["staff"]

/** = authc

在配置檔案中我們配置了乙個bosrealm類,這個bosrealm類就是shiro框架的核心部分,下面我們通過登入**來演示一下。

bosrealm類必須繼承authorizingrealm類,它裡面主要有兩個方法,乙個是認證的,另乙個是授權的。

//認證

@override

protected authenticationinfo dogetauthenticationinfo(authenticationtoken token) throws authenticationexception

//將查詢到的使用者儲存到info,返回到許可權管理器中。

******authenticationinfo info = new ******authenticationinfo(user, user.getpassword(), this.getclass().getname());

return info;

}

//授權

@override

protected authorizationinfo dogetauthorizationinfo(principalcollection principals)

下面是使用者登入的密碼

//使用者登入

public string login()else catch (unknownaccountexception e) catch(incorrectcredential***ception e)

}return "index";

}

在這裡我們可以知道shiro框架是使用丟擲不同的異常來實現認證的。

以上就是關於shiro框架的知識和應用,希望能給各位程式設計師提供一些幫助

apache 設定目錄許可權控制

1。首先要有apache 的認證模組,預設都會安裝。2.編輯httpd.conf檔案 修改工作目錄下的配置,將allowoverride 更改為 authconfig 3.用htpasswd建立乙個密碼檔案,比如檔案名叫 my.pass 建立htpasswd c b my.pass myuserna...

apache 設定目錄許可權控制

1。首先要有apache 的認證模組,預設都會安裝。2.編輯httpd.conf檔案 修改工作目錄下的配置,將allowoverride 更改為authconfig options indexes followsymlinks allowoverride authconfig order allow...

Vue專案的前端許可權控制

本文主要介紹在vue專案中如何進行前端許可權控制。路由許可權 路由許可權就是使用者只能訪問到自己有許可權訪問到的頁面,對於無許可權的頁面可以跳轉到404頁面或者無許可權提示。下面通過兩種方式來實現對路由的許可權控制。1.動態生成路由表 第一種方式是動態生成路由表,前端原始的路由表中只儲存一些基礎的路...