带有 Spring Security 的 Angular 2 应用程序并从 Spring REST 服务中获取数据

Posted

技术标签:

【中文标题】带有 Spring Security 的 Angular 2 应用程序并从 Spring REST 服务中获取数据【英文标题】:Angular 2 Application with Spring Security and fetching data from Spring REST Service 【发布时间】:2016-11-10 19:45:31 【问题描述】:

我正在开发一个应用程序架构,该架构将具有独立的 UI 层(html5 和 Angular2)和服务层(Spring Boot 项目)。两者都将托管在独立的服务器上。 UI 层将使用 REST 调用从数据库中获取数据。我有几个问题。 1. 我正在使用基本上在 node.js 上运行的 Angular2 构建我的 UI。我如何使用 ldap 集成 Spring Security。 2. 如何对托管在不同服务器上的服务进行 REST 调用。 3. 如何使用 Spring 安全性解决 REST 服务的身份验证/授权问题。 期待您的回复。 谢谢, 阿维纳什

【问题讨论】:

【参考方案1】:
    如何使用 ldap 集成 Spring Security。

使用 Spring Security LDAP 模块连接后端的安全服务。保护 URI,这就是您所需要的。

Spring LDAP Guide

Spring LDAP Reference

    如何对托管在不同服务器上的服务进行 REST 调用。

我假设您将在服务器上拥有后端,并且您的 nodejs 服务器和后端服务器之间存在连接。如果您想让事情变得简单,请使用主机名和端口。请以编程方式或使用代理服务器(如 nginx)在您的后端服务器上允许 CORS。

    如何使用 Spring 安全性解决 REST 服务的身份验证/授权问题。

Spring 安全性将为身份验证和授权启用端点。理想情况下,您的 Angular 应用程序必须在每个请求开始时检查身份验证,并且当有 (401) Authentication Failure 时,重定向到登录控制器。将 Angular 应用程序的默认路由也保留到登录控制器。

【讨论】:

以上是关于带有 Spring Security 的 Angular 2 应用程序并从 Spring REST 服务中获取数据的主要内容,如果未能解决你的问题,请参考以下文章

带有 OpenIDAuthenticationFilter 问题的 Spring Security

带有 spring-boot 和 spring-security 的 JWT

带有 Spring Security 的 Spring REST 不接受凭据

带有 LDAP 注销的 Spring Security 无法删除会话

如何使用带有多个过滤器和 Spring Security 的 Spring DelegatingFilterProxy?

我们如何使用带有 Spring 5.0 的最新 spring-security-oauth2 jar 来实现授权服务器?