转自:
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("密码输入错误。。。");
}
}
}