shiro_role.ini:
[users]
java1234=123456,role1,role2
jack=123,role1
RoleTest:
package com.java1234.shiro;
import static org.junit.Assert.*;
import java.util.Arrays;
import org.apache.shiro.subject.Subject;
import org.junit.Test;
import com.java1234.shiro.common.ShiroUtil;
public class RoleTest {
// @Test
// public void testHasRole() {
// Subject subject=ShiroUtil.login("classpath:shiro_role.ini", "jack", "123");
// System.out.println(subject.hasRole("role1")?"有role1角色":"没有role1角色");
// }
// @Test
// public void testHasRoles() {
// Subject subject=ShiroUtil.login("classpath:shiro_role.ini", "jack", "1234");
// boolean[] results=subject.hasRoles(Arrays.asList("role1","role2","role3"));
// for(boolean result:results){
// System.out.println(result);
// }
// }
// @Test
// public void testHasAllRoles() {
// Subject subject=ShiroUtil.login("classpath:shiro_role.ini", "jack", "123");
// boolean results=subject.hasAllRoles(Arrays.asList("role1","role2","role3"));
// System.out.println(results);
// }
/**
* checkRole方法没有返回值,直接抛出异常
*/
// @Test
// public void testCheckRoles() {
// Subject subject=ShiroUtil.login("classpath:shiro_role.ini", "java1234", "123456");
// subject.checkRole("role3");
// }
@Test
public void testHasRoles() {
Subject subject=ShiroUtil.login("classpath:shiro_role.ini", "jack", "1234");
subject.checkRoles(Arrays.asList("role1","role2","role3"));
//意义同上
//subject.checkRoles("role1","role2","role3");
}
}
//=============================权限管理=======================================
shiro_permission.ini:
[users]
java1234=123456,role1,role2
jack=123,role1
[roles]
role1=user:select
role2=user:add,user:update,user.delete
PermissionTest:(与角色管理大同小异)
package com.java1234.shiro;
import org.apache.shiro.subject.Subject;
import org.junit.Test;
import com.java1234.shiro.common.ShiroUtil;
public class PermissionTest {
@Test
public void testIsPermotted() {
Subject subject=ShiroUtil.login("classpath:shiro_permission.ini", "jack", "123");
System.out.println(subject.isPermitted("user:select")?"有user:select权限":"没有user:select权限");
System.out.println(subject.isPermitted("user:add")?"有user:add权限":"没有user:add权限");
}
}