IniRealm讲解

文章目录

IniRealm讲解

1.1 新建测试类IniRealmTest:

package com.amoscxy.test;

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.Test;

public class IniRealmTest {
	
	@Test
	public void testAuthentication(){
		
		IniRealm iniRealm = new IniRealm("classpath:user.ini");
		
		//1.构建SecurityManager
		DefaultSecurityManager defaultSecurityManager = new DefaultSecurityManager();
		defaultSecurityManager.setRealm(iniRealm);
		
		//2.主体提交认证请求
		SecurityUtils.setSecurityManager(defaultSecurityManager);
		Subject subject = SecurityUtils.getSubject();
		
		UsernamePasswordToken token = new UsernamePasswordToken("Mark","123456");
		subject.login(token);
		
		System.out.println("isAuthenticated:"+subject.isAuthenticated());
		
		subject.checkRole("admin");
		
		subject.checkPermission("user:update");
	
	}
}

1.2 在test下新建resources文件夹,作为资源文件夹,新建user.ini文件,写入[users]:用户名、密码、角色,[roles]:权限数据

[users]
Mark=123456,admin
[roles]
admin=user:delete,user:update

猜你喜欢

转载自blog.csdn.net/amoscxy/article/details/82752821
今日推荐