首页>代码>springboot整合vue实现进销存管理系统>/jxc_project-master/src/main/java/com/cdy/jxc_project/config/ShiroConfig.java
package com.cdy.jxc_project.config; import com.cdy.jxc_project.utils.MysqlRealm; import org.apache.shiro.authc.credential.HashedCredentialsMatcher; import org.apache.shiro.realm.Realm; import org.apache.shiro.spring.web.ShiroFilterFactoryBean; import org.apache.shiro.web.mgt.DefaultWebSecurityManager; import org.apache.shiro.web.mgt.WebSecurityManager; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.util.HashMap; import java.util.Map; /* * @Project:jxc_project * @Author:cdy(缘生) * @Motto:放下杂念,只为迎接明天更好的自己 * @Date:2023/5/8 14:37 * */ @Configuration public class ShiroConfig { /** * anon: 无需认证就可以访问 * authc: 必须认证了才能访问 * user: 必须拥有 记住我功能 才能用 * perms: 拥有对某个资源的权限才能访问 * role: 拥有某个角色权限才能访问 */ @Bean public ShiroFilterFactoryBean shiroFilterFactoryBean(){ ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean(); shiroFilterFactoryBean.setSecurityManager(defaultWebSecurityManager()); //告知过滤器,需要去拦截那些请求,放行那些请求 Map<String,String> maps = new HashMap<>(); /* maps.put("/login/**","anon");//放行,允许匿名访问 maps.put("/user/**","authc");//必须认证之后,才能访问,必须登录成功之后,才能访问 maps.put("/login/main","authc");//主页面一定要认证之后才能使用 设置都需要认证之后才能访问 maps.put("/dept/**","authc"); maps.put("/salary/**","authc"); 所有请求都需要拦截 maps.put("/**","authc");*/ maps.put("/admin/**","anon"); maps.put("/doc.html","anon"); maps.put("/goodsType/**","anon"); //需要添加角色信息来判断 shiroFilterFactoryBean.setFilterChainDefinitionMap(maps); //直接拦截到前端登录页面 //shiroFilterFactoryBean.setLoginUrl("http://localhost:8080/#/"); //处理md5加密 return shiroFilterFactoryBean; } @Bean public DefaultWebSecurityManager defaultWebSecurityManager(){ DefaultWebSecurityManager defaultWebSecurityManager = new DefaultWebSecurityManager(); defaultWebSecurityManager.setRealm(mysqlRealm()); return defaultWebSecurityManager; } // 添加md5加密算法 @Bean public Realm mysqlRealm(){ MysqlRealm mysqlRealm = new MysqlRealm(); //md5加密算法 HashedCredentialsMatcher hashedCredentialsMatcher = new HashedCredentialsMatcher(); hashedCredentialsMatcher.setHashAlgorithmName("md5"); //设置用户的安全凭证 mysqlRealm.setCredentialsMatcher(hashedCredentialsMatcher); return mysqlRealm; } }


哪里的完整版 LV8
2月27日
docnnxxy688
2月26日
暂无贡献等级
andy_伟 LV6
2月25日
陈小灏 LV18
2月22日
zhao44413
2月21日
暂无贡献等级
weishenme1993 LV9
1月1日
微信网友_6955249237250048 LV5
2024年12月28日
随手一个用户名 LV1
2023年10月14日
liuyutong LV3
2023年10月11日
wwfl02 LV3
2023年10月10日