# 基于SpringBoot的jwt服务器端框架 **Repository Path**: jichuang/springboot-jwt-framework ## Basic Information - **Project Name**: 基于SpringBoot的jwt服务器端框架 - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2018-11-12 - **Last Updated**: 2022-09-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ##使用说明 ###目录说明 1. common: 全局需要的函数、变量 2. controller: 控制器 3. repository: 数据库映射,本项目采用jpa 4. entity: 实体类 5. service: 服务 6. security: 基于jwt(json web token)的用户验证、系统授权实现 ###系统权限控制的实现 1. 系统权限管理包括用户验证和权限控制两部分 2. 在security.config包中,WebSecurityConfig文件中,对用户验证进行统一配置; 3. 配置文件的规定了一组可以在未授权状态下可以被访问的URL,如登录、用户注册、获取令牌等; 4. 配置文件规定了哪些路径需要登录后才可访问 5. 用户权限控制使用注解方式,如:MapInstanceController中list方法@PreAuthorize("hasRole('ROLE_ADMIN')")规定了需要具备ADMIN角色 6. @PreAuthorize("hasRole('ROLE_ADMIN')")中,ROLE_***是固定写法,在security.auth.ajax.AjaxAuthenticationProvider中对有构建用户角色的语句; 7. 用户和角色是多对多关系,通过中间链接表实现,在entity.SystemUser和SystemRole中的具体实现; ###关于如何登录 1. 登录地址:/api/auth/login,POST方法,需要在请求的Header中加入{'X-Requested-With':'XMLHttpRequest'}; 2. 登录参数为raw形式,例如:{"username":"guest","loginPassword":"123"} 3. 登录成功后,将返回token和refreshToken,token比较重要,后面每次进行网络请求,都需要将带token鉴别身份; 4. token的使用方法是,在请求的Authorization中,增加Bearer Token; Postman软件中,有对应的选项,可做测试; 5. 通常登录步骤为:先通过 /api/auth/login获取token,再通过 /api/user/me 获取用户信息(访问时需加入token)。 ###关于网络请求返回值 1. 统一封装为MyHttpResponse,status表示请求状态,data为返回数据,errorcode为错误编码,message为错误消息 2. 建议网页前端或移动端编写一套统一处理返回值的函数