• 4、Shiro之IniRealm以及用户登录认证,角色认证,权限认证


    1、我们在项目test文件夹下面新建resourse文件夹并将她设置为资源文件夹:

    2、在resourse文件夹下面新建user.ini文件

    user.ini文件里面声明一个用户:

    先写一个用户标签[user]

    然后添加一个用户:houru密码:miyue

    认证测试:

    新建一个测试类:

    测试类代码:

    package com.shiro.shiroframe;
    
    import org.apache.shiro.SecurityUtils;
    import org.apache.shiro.authc.UsernamePasswordToken;
    import org.apache.shiro.mgt.DefaultSecurityManager;
    import org.apache.shiro.realm.text.IniRealm;
    import org.apache.shiro.subject.Subject;
    import org.junit.jupiter.api.Test;
    
    public class IniRelamTest {
    @Test
        public void InirelamTest(){
        IniRealm iniRealm=new IniRealm("classpath:user.ini");
        DefaultSecurityManager defaultSecurityManager=new DefaultSecurityManager();
        defaultSecurityManager.setRealm(iniRealm);
        SecurityUtils.setSecurityManager(defaultSecurityManager);
        Subject subject=SecurityUtils.getSubject();
        UsernamePasswordToken usernamePasswordToken=new UsernamePasswordToken("houru","miyue");
        subject.login(usernamePasswordToken);
        System.err.println(subject.isAuthenticated());
    }
    }

    注意,上面的一切操作只不过是把用户信息存在一个资源文件里,然后使用IniRealm读取,这样理解就很简单

     授权测试:

    首先修改ini文件:

     此时java代码追加角色验证和权限验证:

        //用户角色验证
        subject.checkRole("admin");
        //用户权限验证
        subject.checkPermission("user:delete");

    如果验证通过,代码执行不报错。否则报错

  • 相关阅读:
    Base64
    HBase搭建
    解决Zookeeper无法启动的问题
    docker基础知识之挂载本地目录
    VMware升级到15版本虚拟机黑屏的解决方法
    docker端口映射或启动容器时报错Error response from daemon: driver failed programming external connectivity on endpoint
    MQTT 入门介绍
    OpeTSDB的Configuration配置
    js中ES6的Set的基本用法
    Review-JVM
  • 原文地址:https://www.cnblogs.com/luzhanshi/p/11024433.html
Copyright © 2020-2023  润新知