• shiro配置文件shiro.ini简介说明


    转自:

    shiro配置文件shiro.ini简介说明

    下文笔者讲述shiro配置文件shiro.ini的简介说明,如下所示:

    shiro.ini:是一个shiro的配置文件,
      它通常放在classpath路径下
    shiro.ini配置文件包含以下信息
    
    main
    提供了对根对象securityManager及其依赖对象的配置,通过反射创建相应的实例。
    
    #创建对象
    securityManager=org.apache.shiro.mgt.DefaultSecurityManager
    1.对象名=全限定类名 相当于调用public无参构造器创建对象
    
    2.对象名.属性名=值 相当于调用于setter方法设置常量值
    
    3.对象名.属性名=$对象引用 相当于调用setter方法设置对象引用
    
    users
    提供了对用户/密码及其角色的配置,用户名=密码,角色1,角色2 比如:username=password,role1,role2
    
    [users] 
    zhangsan=123,role1,role2 
    wangwu=123,role1
    roles
    提供了角色及权限之间关系的配置,角色=权限1,权限2 比如:role1 = permission1 , permission2
    
    [roles] 
    role1=user:create,user:update 
    role2=*  
    urls
    提供了对web url拦截相关的配置,url=拦截器[参数],拦截器
    
    /index.html = authno
    /admin/** = auth, roles[admin],perms["permission1"]
    

    //shiro.ini
    [users]
    root=888888
    # 账号为root 密码:888888
    

    例:

    //java
    package com.java265;
    import org.apache.shiro.SecurityUtils;
    import org.apache.shiro.authc.AuthenticationToken;
    import org.apache.shiro.authc.IncorrectCredentialsException;
    import org.apache.shiro.authc.UnknownAccountException;
    import org.apache.shiro.authc.UsernamePasswordToken;
    import org.apache.shiro.config.IniSecurityManagerFactory;
    import org.apache.shiro.mgt.SecurityManager;
    import org.apache.shiro.subject.Subject;
    import org.apache.shiro.util.Factory;
    /**
     *shiro的第一个入门案例
     */
    public class HelloTest {
    	public static void main(String[] args) {
    		//1.加载配置文件获取Factory对象
    		Factoryfactory=new IniSecurityManagerFactory("classpath:shiro.ini");
    		//2.获取SecurityManager对象
    		SecurityManager securityManager =factory.getInstance();
    		//3.将SecurityManager添加到系统
    		SecurityUtils.setSecurityManager(securityManager);
    		//4.通过SecurityManager获取Subject对象
    		Subject subject=SecurityUtils.getSubject();
    		//账号密码是客户端提交的数据
    		AuthenticationToken token=new UsernamePasswordToken("root","888888");
    		//5.实现认证操作
    		try{
    			subject.login(token);
    			System.out.println("认证成功");
    		}catch(UnknownAccountException e){
    			System.out.println("账号输入错误。,,,");
    		}catch (IncorrectCredentialsException e) {
    			System.out.println("密码输入错误。。。");
    		}
    	}
    }
  • 相关阅读:
    机器学习方法之k近邻方法的综述
    TDengine(taos)数据库导出历史数据
    巧妙使用多个旧路由器无线中继提升网络速度
    eclipse启动一个Springboot项目
    python-opencv图像的高通滤波和低通滤波
    二叉树--递归和回溯
    机器学习课后习题 --回归
    【AI】第 1 章:你的深度学习之旅
    前端 代码规范
    FastDeploy和PaddleOCR 项目地址
  • 原文地址:https://blog.csdn.net/qq_25073223/article/details/126006584