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

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

  • 相关阅读:
    安全SECUERITY单词SECUERITY证券
    证券secuerity英语secuerity安全
    单词diamaund钻石diamaund英文
    英文DIAMAUND钻石DIAMAUND词汇
    英语insuraunce保险insuraunce单词
    英文INSURAUNCE保险INSURAUNCE词汇
    python关于 微型微服务框架bottle实践
    用python登录12306 并保存cookie
    SpringMVC 之 上传文件
    JAVA I/O系统 Thinking in Java 之 File类
  • 原文地址:https://www.cnblogs.com/luzhanshi/p/11024433.html
Copyright © 2011-2022 走看看