【发布时间】:2021-11-19 22:19:53
【问题描述】:
我正在尝试使用 Spring boot + ReactJS 和 MySQL 构建我的第一个网站。 它本质上是一个健身房网站,用户可以在其中创建帐户、登录,然后选择会员资格 + 结帐等。
到目前为止我所做的是:
- Spring Boot REST Api 用于创建新客户 + 其他 CRUD 功能。
- React 前端注册表单与 Spring 启动服务器验证,表单使用 axios 将数据发布到 REST api。
- 我在网站的 figma 中有一个设计,同时我一直在努力,因为老实说,我被卡住了。
我面临的一些问题:
-
Spring Security,我以前使用过 JSP,我更容易掌握它,因为它是服务器端的,我只有控制器方法等。现在我正在使用 react,我不知道安全性如何功能适用于 Spring Boot。
由于前端和后端服务在不同的端口上,我的 Spring 将如何配置 方法是什么样的? (扩展 WebSecurityConfigurerAdapter 的类)。
如何使用 React Router 限制对前端 URL 的访问?由于 Spring Boot 和 React 路由器都在不同的一端,我很难理解它是如何工作的? API 端点是否也可以访问。
-
身份验证 + 授权,我查阅了教程,并且在使用 Spring Boot + React 时,我几乎只看到使用 JWT 令牌进行身份验证,除了 JWT 之外没有其他选择吗? (对我来说,这看起来真的很混乱,所以我想知道是否有有效的替代方案) - 如果没有,为什么是 JWT?
-
我知道 Spring Security 本身就是一个复杂的框架,我已经阅读了很多关于它的内容,尽管有些概念确实让我感到困惑。 (UserDetailsService vs UserDetails,你得到的认证管理器的类型)
-
一般来说,Spring Boot 与诸如 react 的 SPA 的集成,如果有人能解释它在前端和后端的工作流程的话。
【问题讨论】:
标签: java mysql reactjs spring-boot jwt