1、新建一个iniRealmTest类
2、在对应的resources目录下创建user.ini
[users]
zjc=123456,admin
[roles]
admin=user:delete
3、iniRealmTest源码
package com.zjc.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.realm.text.IniRealm;
import org.apache.shiro.subject.Subject;
import org.junit.Test;
public class IniRealmTest {
@Test
public void iniRealmTest() {
IniRealm iniRealm = new IniRealm("classpath:user.ini");
DefaultSecurityManager defaultSecurityManager = new DefaultSecurityManager();
defaultSecurityManager.setRealm(iniRealm);
SecurityUtils.setSecurityManager(defaultSecurityManager);
Subject subject = SecurityUtils.getSubject();
UsernamePasswordToken token = new UsernamePasswordToken("zjc","123456");
subject.login(token);
System.out.println("isAuthenticated:"+subject.isAuthenticated());
subject.checkRole("admin");
//是否具备用户删除的权限
//如果没有对应的权限,会出现
//org.apache.shiro.authz.UnauthorizedException:
//Subject does not have permission [user:update]
subject.checkPermission("user:delete");
}
}











网友评论