jwt加入权限认证,权限认证完成以后才能操作对应的接口

本文介绍了如何在Spring Boot应用中实现User实体的权限控制,通过UserRole枚举定义角色权限,并结合JWT进行身份验证。UserMapper、Service、Controller和相关工具类详细展示了登录验证、角色筛选及Token生成与验证的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实体entity

package com.lucun.student.db.entity;

public class User {
   
    /**
     * id
     */
    private Long id;
    /**
     * 账号
     */
    private String username;
    /**
     * 密码
     */
    private String password;
    /**
     * 权限
     */
    private String role;

    /**
     *
     *状态码
     */
    private Integer status;

    public Integer getStatus() {
   
        return status;
    }

    public void setStatus(Integer status) {
   
        this.status = status;
    }

    public Long getId() {
   
        return id;
    }

    public void setId(Long id) {
   
        this.id = id;
    }

    public String getUsername() {
   
        return username;
    }

    public void setUsername(String username) {
   
        this.username = username;
    }

    public String getPassword() {
   
        return password;
    }

    public void setPassword(String password) {
   
        this.password = password;
    }

    public String getRole() {
   
        return role;
    }

    public void setRole(String role) {
   
        this.role = role;
    }
}

权限的限制

package com.lucun.student.db.entity;

public class UserRole {
   
    public final static String ADMIN = "1";
    public final static String USER = "0,1";
}

UserMapper

package com.lucun.student.db.mapper;

import com.lucun.student.db.entity.User;
import java.util.List;

public interface UserMapper {
   
    int login(User user);
    User login1(User user);
    List<User> selectAll();
}

UserMapper.xml

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.lucun.student.db.mapper.UserMapper">
    <resultMap id="BaseResultMap" type="com.lucun.student.db.entity.User">
        <id column="id" jdbcType="BIGINT" property="id" />
        <result column="username" jdbcType="VARCHAR" property="username" />
        <result column="password" jdbcType="VARCHAR" property="password" />
        <result column="role" jdbcType="VARCHAR" property="role" />
        <result column="status" jdbcType="INTEGER" property="status" />
    </resultMap>
    <select id="selectAll" resultMap="BaseResultMap">
    select * from user
  </select>
    <select id="login" resultType="int">
    select count(*) from user where username=#{username} and password = #{password}
  </select>
    <select id="login1" resultMap="BaseResultMap">
    select * from user where username=#{username} and password = #{password}
  </select>
</mapper>

Service

package com.lucun.student.service;

import com.lucun.student.db.entit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值