Shiro中最簡單的一個身份驗證例子
阿新 • • 發佈:2019-01-06
Shiro作為一個Java安全框架,身份驗證是它最基本的功能。
首先給出shiro的Maven配置
一.配置檔案的驗證<dependencies> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.2.2</version> </dependency> </dependencies>
1.配置檔案user.ini
[users]
zhang=123
wei=123
這裡必須寫2個,一個使用者名稱,一個密碼2.測試類
package com.zw.mymaven; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.AuthenticationException; 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; public class Test { public static void main(String[] args) { // 1、獲取SecurityManager工廠,此處使用Ini配置檔案初始化SecurityManager Factory<SecurityManager> factory=new IniSecurityManagerFactory("shiro.ini"); // 2、得到SecurityManager例項 並繫結給SecurityUtils SecurityManager securityManager = factory.getInstance(); SecurityUtils.setSecurityManager(securityManager); // 3、得到Subject及建立使用者名稱/密碼身份驗證Token(即使用者身份/憑證) Subject subject = SecurityUtils.getSubject(); UsernamePasswordToken token = new UsernamePasswordToken("zhang", "123"); //UsernamePasswordToken token2 = new UsernamePasswordToken("password", "wei"); try { // 4、登入,即身份驗證 subject.login(token); System.out.println("登入成功 "); //subject.login(token2); } catch (AuthenticationException e) { e.printStackTrace(); System.out.println("登入失敗 "); // 5、身份驗證失敗 } // 6、退出 subject.logout(); } }