一 . 注册流程
1.1 描述
通过http://localhost:8888/shiro/user/register访问 进行注册,调用register方法:通过md5+salt+hash(1024)次,存储到数据库中,成功之后,跳转到login.jsp页面。进行登录操作。
1.2 访问
1.输入地址:http://localhost:8888/shiro/user/register
2.跳转到注册页面
3.提交注册按钮后,跳转到login.jsp页面
1.3 代码逻辑
1.controller层
* 用户注册
*/
@RequestMapping("register")
public String register(User user) {
try {
System.out.println("进入userController 层了:!!!!!");
if(user!=null&&user.getPassword()!=null){
System.out.println("user的信息不为null:");
userService.register(user);
return "redirect:/login.jsp";
}
return "redirect:/register.jsp";
}catch (Exception e){
e.printStackTrace();
return "redirect:/register.jsp";
}
}
2.service代码
@Override
public void register(User user) {
//处理业务调用dao
//1.生成随机盐
String salt = SaltUtils.getSalt(8);
//2.将随机盐保存到数据
user.setSalt(salt);
//3.明文密码进行md5 + salt + hash散列
Md5Hash md5Hash = new Md5Hash(user.getPassword(),salt,1024);
user.setPassword(md5Hash.toHex());
userDao.addData(user);
}
3.mapper层
<!--添加数据 -->
<insert id="addData" parameterType="com.shiro.ljf.demo.sptshirodemo.entity.User">
insert into t_user values(#{id},#{username},#{password},#{salt})
</insert>