Shiro授权
代码讲解授权过程
package com.amoscxy.test;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.mgt.DefaultSecurityManager;
import org.apache.shiro.realm.SimpleAccountRealm;
import org.apache.shiro.subject.Subject;
import org.junit.Before;
import org.junit.Test;
/**
* Created by cxy on 2018/9/18.
*/
public class AuthenticationTest {
SimpleAccountRealm simpleAccountRealm = new SimpleAccountRealm();
@Before
public void addUser(){
//"admin","user"是授权参数
simpleAccountRealm.addAccount("Mark","123456","admin","user");
}
@Test
public void testAuthentication(){
//1.构建SecurityManager认证环境
DefaultSecurityManager defaultSecurityManager= new DefaultSecurityManager();
defaultSecurityManager.setRealm(simpleAccountRealm);
//2.主体提交认证请求
SecurityUtils.setSecurityManager(defaultSecurityManager);
Subject subject = SecurityUtils.getSubject();
UsernamePasswordToken token = new UsernamePasswordToken("Mark","123456");
//登陆
subject.login(token);
//subject.isAuthenticated():是否认证
System.out.println("isAuthenticated:" + subject.isAuthenticated());
// //退出
// subject.logout();
//
// //subject.isAuthenticated():是否认证
// System.out.println("isAuthenticated:" + subject.isAuthenticated());
//认证之后检查当前主体是否具备参数里面所有的角色数据
subject.checkRoles("admin","user");
}
}