spring - 具有角色的网站的 Spring Boot Security 注册和日志记录,怎么做?
问题描述
我很难理解 Spring Security,而且我发现的任何教程都不适合我的需要。所以也许我会解释我的想法和我想要完成的事情。
我想在 React 中创建一个带有 Kotlin/Java 后端和前端的网站。该网站需要具有不同角色的用户(用户、管理员)。
而且(我认为)我需要的是某种具有 2 个端点的后端:
- 注册(在数据库中创建用户)
- 登录(基于用户名和密码,获取用户信息和角色) - 作为某种令牌?然后,前端将使用此返回的令牌来显示特定选项(即,不为普通用户显示“禁止用户”),并且还将其发送到后端以检查请求特定端点的人是否真的应该能够调用这个端点(即应该禁止普通用户使用“禁止用户”端点)
我应该阅读什么,我应该研究哪些关键字来实现这一目标?
解决方案
对于纯粹的 Spring Boot 部分实现,以下应该做
- (/register)注册/注册端点,获取业务逻辑所需的所有参数。例如用户名、密码、全名以及角色
- (/login)登录时,您需要将令牌转发到前端,然后前端将在会话的标头中使用此令牌。JWT 令牌似乎是您所需要的(示例如下)。对于您要求的另一部分,您可以将用户对象(带有角色)保留在会话中,并在“禁止用户”端点中检查后端的用户角色并进行相应处理。
使用 Spring Boot 进行 JWT 身份验证
我在以下示例中找到了一个很好的起点
https://github.com/bezkoder/spring-boot-spring-security-jwt-authentication
有关更完整的示例
https://www.bezkoder.com/spring-boot-react-jwt-auth/
学分
推荐阅读
- java - 创建名为“consumerController”的 bean 时出错:注入资源依赖项失败
- r - 遍历日志文件以查找首次发生事件的时间戳
- http-status-code-404 - 错误响应 404(Samba 服务器 ubuntu 18.04)
- python - python/Pandas - 你可能需要运行...首先构建 C 扩展 - 没有 cmd
- xpath - 使用 xpath/scrapy 选择 id 属性
- c++ - *****.exe 中 0x00000000772CA267 (ntdll.dll) 的未处理异常:0xC0000005:访问冲突写入位置 0xFFFFCA800000000
- java - 根据请求正文中的数据转发 http 请求
- python - 是否有任何函数可以解包 Python 中的任何序列?
- linux - MPV播放器长时间运行后自动暂停
- android - 错误:找不到 com.google.android.gms.internal.zzbgl 的 zzbgl 类文件