小编jmb*_*bds的帖子

如何使用 Spring Security 和 Vue.js 设置登录?

我目前正在使用 Spring(带有 Spring Security)和 Vue.js 开发一个 Web 应用程序。我之前构建过一些 Web 应用程序,但它们仅用于学校目的,因此在身份验证和授权方面它们大多不完整。所以,正如你所看到的,我在 Spring Boot 和 Spring Security 方面真的没有经验。

我的项目是按以下方式设置的:

项目文件夹

  • 项目服务器(Spring -> localhost:9000)
  • 项目网络(Vue.js CLI -> localhost:8080)

我正在遵循一个教程来实现 Spring Security,现在,我可以使用内置的登录表单,使用我存储在 MySQL 数据库中的凭据来验证我的用户。

问题是我不想使用这个登录页面,我想在我的前端项目中创建自己的登录页面。我已经查过了,我可以更改登录页面,但我相信它需要位于后端项目文件夹内的资源文件夹中。然而,我的项目不是这样设置的,我不想改变它(如果可能的话)。我以为我可以通过 URL 引用我的 API,但我注意到 Spring Security 在登录成功时不会发送 HTTP 200 响应,而是发送 HTTP 302 重定向响应。我见过禁用表单登录然后使用 JWT 进行身份验证的解决方案,但我也发现这不是一个好的做法,因为无法撤销此令牌。

这是我的 ApplicationSecurityConfig 的外观

@Configuration
@EnableWebSecurity
public class ApplicationSecurityConfig extends WebSecurityConfigurerAdapter {

private final PasswordEncoder passwordEncoder;
private final ApplicationUserService applicationUserService;

@Autowired
public ApplicationSecurityConfig(PasswordEncoder passwordEncoder,
                                 ApplicationUserService applicationUserService) {
    this.passwordEncoder = passwordEncoder;
    this.applicationUserService = applicationUserService;
}

@Override
protected …
Run Code Online (Sandbox Code Playgroud)

java spring spring-security spring-boot vue.js

3
推荐指数
1
解决办法
8837
查看次数

标签 统计

java ×1

spring ×1

spring-boot ×1

spring-security ×1

vue.js ×1