java安全框架shiro(一)
阿新 • • 發佈:2018-03-24
out util tor sub pass java string 框架 AI
第一個簡單的案例 ,通過讀取.ini文件的方式模擬登陸,
1.通過Factory工廠的getInstance()方法來獲取SecurityManager的實例,實例化Factory需要一個ini文件的路徑作為參數;
2.將上面獲取的實例set到 SecurityUtils這個類裏,SecurityUtils類有一個get方法來獲取Subject類
3.Subject這個類就是用來登陸和退出的,但是需要一個AuthenticationToken實例作為參數
上面是步驟,下面就來一步一步的介紹,最後會在最下面給出代碼
第二步我就不說了,方法是靜態的,直接類名調用就好了;
現在來到第三步,現在應該是得到subjiect的實例了,需要登錄,但是需要一個token實例
現在token也有了,然後我們進行登錄;
這裏給出一個.ini文件的基本示例,把這個文件所在的路徑填入第一步實例化工廠時的參數裏即可
最後給出簡單案例的代碼
package com; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.AuthenticationToken; import org.apache.shiro.authc.UsernamePasswordToken; import org.apache.shiro.config.IniSecurityManagerFactory;import org.apache.shiro.mgt.SecurityManager; import org.apache.shiro.subject.Subject; import org.apache.shiro.util.Factory; /** * 測試shiro第一個案例 * */ public class App { public static void main( String[] args ) { { /*實例化工廠*/ Factory<SecurityManager> factory = newIniSecurityManagerFactory("classpath:shiro.ini"); /*獲取實例*/ SecurityManager instance = factory.getInstance(); /*設置參數*/ SecurityUtils.setSecurityManager(instance); /*獲取登錄實例*/ Subject subject = SecurityUtils.getSubject(); /*實例化token,傳入登錄的用戶和密碼*/ AuthenticationToken token = new UsernamePasswordToken("admin1", "admin"); try { /*進行登錄*/ subject.login(token); /*退出登錄*/ subject.logout(); }catch (Exception e){ System.out.println("登錄錯誤!!"); } } } }
java安全框架shiro(一)