3.测试代码
package com.sun.shiro;import org.apache.shiro.SecurityUtils;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.Test;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class MyRealmDemo1Test { /** * 日志 */ private Logger logger = LoggerFactory.getLogger(MyRealmDemo1Test.class); @Test public void testGetAuthenticationInfo() { //1.加载配置文件 Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro_realm.ini"); //2.实例化对象 SecurityManager securityManager = factory.getInstance(); //绑定 SecurityUtils.setSecurityManager(securityManager); //的到当前用户 Subject subject = SecurityUtils.getSubject(); //根据用户名密码登陆 UsernamePasswordToken token = new UsernamePasswordToken("sunny", "1127"); try { logger.info("=======>执行登陆"); subject.login(token); logger.info("=======>登陆成功"); } catch (Exception e) { logger.error("========>登陆失败:" + e); } //登出 subject.logout(); }}执行结果:
新闻热点
疑难解答