1. 程式人生 > 其它 >shiro初探,最簡單的認證,通過ini檔案。

shiro初探,最簡單的認證,通過ini檔案。

一共分三大元件 subject(主題,主要是認證的使用者密碼),securityManager(安全管理器),realm(資料橋樑)

在resource 裡建立shiro.ini 檔案

#使用者
[users]
zhangsan=123456
lisi=12345

然後寫test類

package cn.taotao;

import org.apache.commons.collections.bag.SynchronizedSortedBag;
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;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;

@SpringBootTest
class ActivitiApplicationTests { @Test void contextLoads() { } @Test void testShiro(){ String username="zhangsan"; String password = "123456"; // 建立工廠,注意引入的包名,SecurityManager 是shiro的包 Factory<SecurityManager> factory = new IniSecurityManagerFactory("
classpath:shiro.ini"); // 取得安全管理器例項 SecurityManager securityManager = factory.getInstance(); // 把當前SecurityManager 繫結到當前執行緒 SecurityUtils.setSecurityManager(securityManager); // 取出當前的subject Subject subject = SecurityUtils.getSubject(); // AuthenticationToken authenticationToken = new
UsernamePasswordToken(username,password); subject.login(authenticationToken); System.out.println("是否認證成功"+subject.isAuthenticated()); } }