SpringBoot+Shiro+LayUI权限管理系统项目-9.核心知识点总结

1.说明

本篇讲一下本项目几个重要的知识点,详细看源码,文章下方捐赠或QQ联系捐赠获取。

2.Shiro如何设置密码加密算法

  • 1.在shiro配置文件中添加:
@Bean
public HashedCredentialsMatcher hashedCredentialsMatcher(){
   HashedCredentialsMatcher hashedCredentialsMatcher = new RetryLimitHashedCredentialsMatcher(ehCacheManager());

   hashedCredentialsMatcher.setHashAlgorithmName("md5");//散列算法:这里使用MD5算法;
   hashedCredentialsMatcher.setHashIterations(2);//散列的次数,比如散列两次,相当于 md5(md5(""));

   return hashedCredentialsMatcher;
}
  • 2.使用md5加密工具类
import org.apache.shiro.crypto.hash.Md5Hash;

public static String md5Password( String password, int hashIterations){
	/*SecureRandomNumberGenerator secureRandomNumberGenerator=new SecureRandomNumberGenerator();
	String salt= secureRandomNumberGenerator.nextBytes().toHex();
	System.out.println("=====salt: "+salt);*/
	//组合username,两次迭代,对密码进行加密
	String password_cryto = new Md5Hash(password,null,hashIterations).toString();
	
	return password_cryto;
}
  • 3.在添加用户的方法里面调用
// 设置添加用户的密码
user.setPassword(MD5Util.md5Password(user.getPassword(),2));

3.Shiro如何整合ehcache

  • 在shiro配置文件中添加ehCacheManger
@Bean
public EhCacheManager ehCacheManager(){
    EhCacheManager cacheManager = new EhCacheManager();
    cacheManager.setCacheManagerConfigFile("classpath:config/ehcache.xml");
    return cacheManager;
}
  • 将ehCacheManger设置为shiro的默认缓存管理器
@Bean
public SecurityManager securityManager() {
	DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
	//设置realm.
	securityManager.setRealm(myShiroRealm());
	//注入缓存管理器;
	securityManager.setCacheManager(ehCacheManager());//这个如果执行多次,也是同样的一个对象;
	//注入记住我管理器;
	securityManager.setRememberMeManager(rememberMeManager());
	securityManager.setSessionManager(sessionManager());
	return securityManager;
}

4.前端如何控制按钮显示隐藏

  • 页面配置
    引入命名空间:
<html xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">

对按钮添加权限控制标签:

<button class="layui-btn layui-btn-sm" lay-event="add" shiro:hasPermission="dept:add">新增</button>

当页面遇到shiro:hasPermission会触发查询当前用户所有权限标识列表,以判断用户对于某特定操作是否有权限。

在这里插入图片描述

以部门管理的新增、修改、删除按钮权限为例,没有授权过的页面是这样的:
在这里插入图片描述

修改授权后5分钟或重启服务生效。

5 获取源码

捐赠任意金额,评论区留下邮箱发送 :)

在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值