Shiro安全框架的使用步驟

2021-08-09 04:46:32 字數 2414 閱讀 5238

shiro安全框架:

+ehcache快取

1、引入依賴pom.xml

org.apache.shiro

shiro-all

1.2.3

2、核心filter,乙個filter相當於10個filter;web.xml

注意:shiro的filter必須在struts2的filter之前,否則action無法建立

shirofilter

org.springframework.web.filter.delegatingfilterproxy

targetfilterlifecycle

true

/*同時新增專門配置shiro的配置檔案

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

shiro的配置

引入自定義realm域

定義加密工具

anon 表示方行

authc 攔截

/index.jsp* = anon

/home* = anon

/sysadmin/login/login.jsp* = anon

/sysadmin/login/logout.jsp* = anon

/login* = anon

/logout* = anon

/components/** = anon

/css/** = anon

/images/** = anon

/js/** = anon

/make/** = anon

/skin/** = anon

/stat/** = anon

/ufiles/** = anon

/validator/** = anon

/resource/** = anon

/** = authc

/*.* = authc

5、自定義realm    authrealm

在認證、授權內部實現機制中都有提到,最終處理都將交給realm進行處理。

因為在shiro中,最終是通過realm來獲取應用程式中的使用者、角色及許可權資訊的。

通常情況下,在realm中會直接從我們的資料來源中獲取shiro需要的驗證資訊。可以說,realm是專用於安全框架的dao.

public class authrealm extends authorizingrealm

//授權

protected authorizationinfo dogetauthorizationinfo(principalcollection principals) }}

info.addstringpermissions(list);

return info;

}//認證  登入

protected authenticationinfo dogetauthenticationinfo(

authenticationtoken token) throws authenticationexception else}}

6、修改傳統登入為shiro登入

public class loginaction extends baseaction

public string login() throws exception

session.put(sysconstant.current_user_info, curuser);    //principal 當前使用者物件

}catch(exception ex)

return success;

}public string logout()

public string getusername()

public void setusername(string username)

public string getpassword()

public void setpassword(string password)

}7、授權(另一種載入資料的思想   可省略因為在登入時已載入)

根據使用者查詢出角色對應的許可權,並返回許可權串

-hql,service

public listgetpermission(string username)

}return _list;

}在realm中進行授權userservice.getpermission

//授權

protected authorizationinfo dogetauthorizationinfo(

principalcollection principals)

return authorizationinfo;

}8、頁面使用shiro標籤,/home/title.jsp 主選單

<%@ taglib uri="" prefix="shiro"%>

系統管理

shiro安全框架

shiro安全框架是目前為止作為登入註冊最常用的框架,因為它十分的強大簡單,提供了認證 授權 加密和會話管理等功能 shiro能做什麼?認證 驗證使用者的身份 授權 對使用者執行訪問控制 判斷使用者是否被允許做某事 會話管理 在任何環境下使用 session api,即使沒有 web 或ejb 容器...

Shiro安全框架

subject sub securityutils.getsubject usernamepasswordtoken token newusernamepasswordtoken username,password sub.login token requiresguest 驗證是否是乙個guest...

Shiro安全框架

shiro是apache旗下乙個開源安全框架,它將軟體系統的安全認證相關的功能抽取出來,實現使用者身份認證,許可權授權 加密 會話管理等功能,組成了乙個通用的安全認證框架。使用shiro就可以非常快速的完成認證 授權等功能的開發,降低系統成本。shiro安全框架 在概念層面,shiro 架構包含三個...