14-shiro连接数据库完成基于MD5+Salt的注册功能

(1)编写注册页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <!--公共资源-->
    <h1>用户注册</h1>
    <form action="${pageContext.request.contextPath}/user/register" method="post">
        用户名:<input type="text" name="username"> <br>
        密码:<input type="password" name="password"> <br>
        <input type="submit" value="立即注册"> <br>
    </form>
</body>
</html>

(2)设置不受限资源

要把访问register.jsp登录页面也设置为不受限资源。为什么当时我们没有设置登录页面呢?因为shiro默认的认证页面就是我们的登录页面login.jsp

(3)创建数据库

(4)引入数据库的相关依赖

<!--mybatis-->
<dependency>
    <groupId>org.mybatis.spring.boot</groupId>
    <artifactId>mybatis-spring-boot-starter</artifactId>
    <version>2.2.0</version>
</dependency>

<!--mysql-->
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
</dependency>

<!--druid-->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.2.6</version>
</dependency>

(4)在application.properties配置文件中编写数据库和mybatis相关配置

(5)编写我们的实体类

(6)开发我们的接口

(7)开发我们的mapper.xml文件

(8)开发我们的service接口

(9)编写一个可以生成随机盐的工具类

package com.study.springboot_jsp_shiro.utils;

import java.util.Random;

/**
 * 生成盐的工具类
 */
public class SaltUtils {
    /**
     * 生成salt的静态方法
     * @param n
     * @return
     */
    public static String getSalt(int n){
        char []chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()".toCharArray();
        StringBuilder sb = new StringBuilder();

        for(int i = 0; i<n; i++){
            char aChar = chars[new Random().nextInt(chars.length)];
            sb.append(aChar);
        }

        return sb.toString();
    }
    
}

(10)编写我们的service的实现类

(11)编写我们的controller

(12)进行测试

posted @ 2021-11-22 16:36  不是孩子了  阅读(80)  评论(0)    收藏  举报