zoukankan      html  css  js  c++  java
  • 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");

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

  • 相关阅读:
    【矩阵乘法优化dp】[Codeforces 621E] Wet Shark and Blocks
    【2016常州一中夏令营Day7】
    【2016常州一中夏令营Day6】
    【2016常州一中夏令营Day5】
    【2016常州一中夏令营Day4】
    【2016常州一中夏令营Day3】
    【2016常州一中夏令营Day2】
    Aiopr的中文意思
    Bloom filter
    redis4.0.2集群搭建
  • 原文地址:https://www.cnblogs.com/luzhanshi/p/11024433.html
Copyright © 2011-2022 走看看