ShiroUtil工具類筆記

package com.java1234.common;

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 ShiroUtil {

	public static Subject login(String configFile,String userName,String password){
		// 讀取配置文件,初始化SecurityManager工廠
		Factory<SecurityManager> factory=new IniSecurityManagerFactory(configFile);
		// 獲取securityManager實例
		SecurityManager securityManager=factory.getInstance();
		// 把securityManager實例綁定到SecurityUtils
		SecurityUtils.setSecurityManager(securityManager);
		// 得到當前執行的用戶
		Subject currentUser=SecurityUtils.getSubject();
		// 創建token令牌,用戶名/密碼
		UsernamePasswordToken token=new UsernamePasswordToken(userName, password);
		try{
			// 身份認證
			currentUser.login(token);	
			System.out.println("身份認證成功!");
		}catch(AuthenticationException e){
			e.printStackTrace();
			System.out.println("身份認證失敗!");
		}
		return currentUser;
	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章