美文网首页
Shiro学习(三) Shiro IniRealm

Shiro学习(三) Shiro IniRealm

作者: JiangCheng97 | 来源:发表于2020-02-14 01:32 被阅读0次

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");
    }
}

相关文章

网友评论

      本文标题:Shiro学习(三) Shiro IniRealm

      本文链接:https://www.haomeiwen.com/subject/fpirfhtx.html