先通过下面这张图确定我们需实现的目标,主要分为两条主线: 登录验证与权限认证 。 登录验证 通过 JWT 为每个用户生成唯一且指定期限的 Token ,每次用户请求都将会重新生成重置过期时间,当在指定时间内该用户没有进行操作时 Token 将会过期。此时用户再次请求将会重定向至登录流程,至于 Token 过期时间应该根据业务场景而定。 顺便一提,如果需要实现 N 天免登录可以在接口额外添加一个标记用于表明用户是否勾选了 N 天免登录,然后在生成 Token 即可延迟过期时效。 权限认证 权限认证通过 Spring Security 框架实现,当用户登录之后进行资源访问,对于服务端而言即接口调用,根据用户的角色判断是否有权限进行访问,若没有则应该予以相应的提示。 2.1 Table 新建角色用户数据表 auth_user,用户存储用户的角色详情,建表语句如下: CREATE TABLE `auth_user` ( `id` varchar(36) NOT NULL, `username` varchar(100) DEFAULT NULL, `password`...