Shiro认证及加盐加密

目录
今天的知识是与上次所分享的知识相关联的,在Shiro入门的基础进行编写,上次之前的数据是死数据(放在Shiro.ini)而这次是活数据,可以连接到数据库,运用域Relam知识 。同时出于维护用户的经济利益,保护数据的安全,我们会使用md5对密码进行加密
【Shiro认证及加盐加密】一、Shiro认证(ssm)
1. 导入pom依赖
2、在web容器配置文件中 配置过滤器
3、使用逆向生成工具生成我们所需要的表的model和
4、在.xml中映射根据用户名查找的方法
5、在与业务层中添加方法
6、自定义域 继承域
7、配置与shiro的集成文件
二、密码加盐加密
今天的知识是与上次所分享的知识相关联的,在Shiro入门的基础进行编写,上次之前的数据是死数据(放在Shiro.ini)而这次是活数据,可以连接到数据库,运用域Relam知识 。同时出于维护用户的经济利益,保护数据的安全,我们会使用md5对密码进行加密 一、Shiro认证(ssm)
目的:将死数据变为数据库中的数据
实现步骤:
1. 导入pom依赖
org.apache.shiroshiro-core1.3.2org.apache.shiroshiro-web1.3.2org.apache.shiroshiro-spring1.3.2
2、在web容器配置文件中 配置过滤器
过滤器的作用:拦截所有请求并交给Shiro进行处理
shiroFilterorg.springframework.web.filter.DelegatingFilterProxytargetFilterLifecycletrueshiroFilter/*

Shiro认证及加盐加密

文章插图
3、使用逆向生成工具生成我们所需要的表的model和

4、在.xml中映射根据用户名查找的方法
由于我们使用md5将密码加密后,我们用户在登陆时就不需要向以前一样拿到用户密码,而是使用用户名进行查找
selectfrom t_shiro_userwhere userName = #{userName}
5、在与业务层中添加方法
User queryUserByUserName(@Param("user") String userName);
package com.zjy.biz;import com.zjy.model.User;import org.apache.ibatis.annotations.Param;/*** @author zjy* @site Bi8boYin* @company xxx公司* @create2022-08-25 13:55*/public interface UserBiz {int updateByPrimaryKey(User record);int deleteByPrimaryKey(Integer userid);int insert(User record);int insertSelective(User record);User selectByPrimaryKey(Integer userid);User queryUserByUserName(@Param("user") String userName);int updateByPrimaryKeySelective(User record);}
业务实现类:当我们将数据交给shiro时,的上下文还未加载完毕,所以需要我们将业务层添加进类注解中
package com.zjy.biz.impl;import com.zjy.biz.UserBiz;import com.zjy.mapper.UserMapper;import com.zjy.model.User;import org.springframework.stereotype.Service;/*** @author zjy* @site Bi8boYin* @company xxx公司* @create2022-08-25 14:00*/@Service("UserBiz")public class UserBizImpl implements UserBiz {private UserMapper userMapper;@Overridepublic int updateByPrimaryKey(User record) {return userMapper.updateByPrimaryKey(record);}@Overridepublic int deleteByPrimaryKey(Integer userid) {return userMapper.deleteByPrimaryKey(userid);}@Overridepublic int insert(User record) {return userMapper.insert(record);}@Overridepublic int insertSelective(User record) {return userMapper.insertSelective(record);}@Overridepublic User selectByPrimaryKey(Integer userid) {return userMapper.selectByPrimaryKey(userid);}@Overridepublic User queryUserByUserName(String userName) {return userMapper.queryUserByUserName(userName);}@Overridepublic int updateByPrimaryKeySelective(User record) {return userMapper.updateByPrimaryKeySelective(record);}}