当前位置: 首页 > 知识库问答 >
问题:

角度前端与Spring后端安全性对话[关闭]

阙弘博
2023-03-14

我有一个棱角分明的前端,无法接收使用后端服务器中的spring进行身份验证的用户。我确认后端身份验证在本地工作,但在尝试调用getCurrentUser方法时,Angular出现了CORS错误(只返回当前经过身份验证的用户)。如何解决此CORS错误?

我知道我必须在spring中配置CORS,因为它充当我的后端服务器,我的角度前端需要与它对话,以从我的api方法获得结果。

共有2个答案

封昊天
2023-03-14

您是否尝试在控制器中添加@CrossOrigin(origins=“”)?。

轩辕煜
2023-03-14

对于使用spring security处理Cors,您的类中应该有一个扩展WebSecurityConfigureAdapterCORSCOConfiguration源代码,如下所示。

    @Bean
    public CorsConfigurationSource corsConfigurationSource() {
        final CorsConfiguration configuration = new CorsConfiguration();
        configuration.applyPermitDefaultValues();
        final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", configuration);
        return source;
    }

至于如何识别经过身份验证的用户,您很可能希望Spring中有一个返回登录状态的控制器。记住也要在这个方法上启用cors。

  @CrossOrigin
  @RequestMapping(value = "/login", method = RequestMethod.GET)
  public String login(Model model, String error, String logout) {
    if (error != null) {
      model.addAttribute("error", "Your username and password is invalid.");
    }

    if (logout != null) {
      model.addAttribute("message", "You have been logged out successfully.");
    }

    return "login";
  }

希望这能有所帮助。

 类似资料:
  • 我已经创建了一个spring boot后端和一个angular前端,现在我想使用sprint boot在8080上运行,其主页显示索引。html(来自angular)。 我已经使用ng build--prod命令在angular中创建了dist文件夹,并将其复制到(src/main/resources/static)文件夹中。在此处输入图像描述 除此之外,我读了很多关于这个的stackoverfl

  • 有点基于本指南: https://jaxlondon.com/blog/java-core-languages/put-spring-boot-und-vue-js-ustual-use-project-tutorial/ 我已经创建了一个多模块maven项目,其中一个子模块是我的后端,另一个子模块是我的前端。当我首先构建整个项目时,前端是“构建”,然后它的资源被复制到后端,后端再进行构建,我可以

  • 前端 Front-end 和后端 Back-end 是描述进程开始和结束的通用词汇。前端作用于采集输入信息,后端进行处理。 这种说法给人一种很模糊的感觉,但是他说得又很对,它负责视觉展示。在 MVC 或者 MVP 结构中,负责视觉显示的部分只有 View 层,而今天大多数所谓的 View 层已经超越了 View 层。前端是一个很神奇的概念,但是而今的前端已经发生了很大的变化。你引入了 Backbo

  • 客户端需要LDAP和本地JDBC身份验证机制。 它们需要一种对两组用户都通用的授权机制。 应该根据用户的角色限制用户进入某些页面。以及需要应用于每个用户的单独权限(创建、更新、删除)集 那么,我如何实现按页授权,这将由管理员决定谁(哪个角色)可以访问哪个页面? 是否应该在配置中指定每个角色页组合?是否有任何方法可以动态地改变页面和角色,因为角色可能会在以后添加。

  • 1. 前言 目前,使用 Spring Boot 进行前后端分离项目开发,应该是主流做法了。这种方式,在开发、测试阶段,都比较方便。 开发阶段,项目组定义好接口规范后,前端按规范开发前端页面,后端按规范编写后端接口,职责分明。 测试阶段,后端是独立项目,可以进行单元测试。前端可以随时使用最新版本的后端程序进行实际测试。 前后端分离的模式,有着很多的优越性,所以造就了它的流行。 2. 技术选型 本篇我