• Stars
    star
    859
  • Rank 53,078 (Top 2 %)
  • Language
    Java
  • Created over 9 years ago
  • Updated about 9 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

这个 Demo 用于演示如何在 RESTful 下使用自定义 Token 保持客户端登录状态,依靠 Spring 的拦截器和解析器完成权限验证及登录用户注入,并使用 Redis 存储 Token。

###简介

关于Demo的介绍可以参考RESTful登录设计(基于Spring及Redis的Token鉴权)

###演示方式

  1. 下载该项目并修改application.properties文件,将MySQL和Redis的信息修改为自己的配置
  2. 打开init.sql文件,将其中的sql语句在MySQL中运行
  3. 通过mvn spring-boot:run启动项目,如果日志输出Started Application in 8.112 seconds (JVM running for 14.491)说明启动成功
  4. 浏览器打开localhost:8080,可以看到swagger-ui的主页
  5. 演示登录:在该页面打开POST tokens/,在username项输入admin、password项输入password,点击Try it out!,查看返回结果得到userId和token
  6. 演示退出登录:在该页面打开DELETE tokens/,在authorization中填写用userId和token以"_"拼接得到的字符串,点击Try it out!,如果返回码为200则成功。重复一次操作,返回码将变为401

###可能会遇到的问题:

java.lang.ClassNotFoundException: org.jboss.jandex.IndexView

原因是缺少org.jboss:jandex:1.1.0Final依赖,可能需要您手动在pom.xml中依赖中添加以下内容:

<dependency>
    <groupId>org.jboss</groupId>
    <artifactId>jandex</artifactId>
    <version>1.1.0.Final</version>
</dependency>

感谢@yrain的反馈!

###其他

如果这个Demo的功能刚好可以满足你的需求,在这里推荐我根据其封装的库:Spring Authorization Manager,希望能帮助你完成API服务端的身份验证功能。

More Repositories

1

smartqq

SmartQQ(WebQQ)的Api ,你可以用它实现自己的QQ 机器人 a qq robot based on smartqq (webqq) api
Java
1,149
star
2

spring-authorization-manager

基于 Spring MVC,提供 API 服务端的身份验证功能。通过 Redis、MySQL 维护登录用户与分配 Token 的映射关系。
Java
334
star
3

qqbot

基于SmartQQ(WebQQ)的QQ机器人 / a qq robot based on smartqq(webqq) api
Ruby
280
star
4

spring-redis-mq

基于 Spring 和 Redis 的分布式消息队列(MessageQueue)实现
Java
118
star
5

pixiv-crawler

通过网页爬虫批量下载 Pixiv 图片
Java
57
star
6

pixiv-parser

批量抓取和下载 Pixiv 上的图片 Batch download pictures from Pixiv
Java
36
star
7

spring-authorization-manager-demo

https://github.com/ScienJus/spring-authorization-manager 的Demo
Java
34
star
8

spring-disque

基于 Spring 和 Jedis 的 Disque 封装,使用注解驱动
Java
22
star
9

spring-cloud-etcd

[WIP] Etcd integration with Spring Cloud, based on etcd v3 api(jetcd).
Java
20
star
10

elasticsearch-chinese-analyzers-contrasts

Elasticsearch中文分词插件分词效果对比(Ik、Ansj、Mmseg和Jieba)
JavaScript
10
star
11

play-with-ruby

记录个人学习 Ruby 的过程
Ruby
10
star
12

smzdm-push

什么值得买非官方的邮件推送,http://smzdm.scienjus.com/ 简单测试中(注册密码必须8位以上)
Ruby
6
star
13

fastroute-spring

nikic/FastRoute implementation in Spring
Java
6
star
14

django_gaode_maps

Django 管理后台的高德地图控件
Python
5
star
15

thrift-spring-boot-starter

[WIP] Apache Thrift integration with Spring Boot. nonblocking client/server, service discovery, load balancing and more.
Java
4
star
16

mybatis-redis-counter

use redis to counting in mybatis, non invasive and easy to use / 在MyBatis项目中使用Redis辅助计数,使用简单且无侵入性
Java
3
star
17

konata

micro web framework like Pippo and written in Kotlin
Kotlin
3
star
18

sofa-rpc-consul-registry-demo

Java
2
star
19

learn-spring-restdocs

Learn how to use Spring REST Docs based on Spring Boot2 and JUnit5.
HTML
1
star
20

fckjnb

工行猴年纪念币预约脚本
Ruby
1
star
21

sofa-rpc-hystrix-with-spring-cloud-example

Java
1
star