带有 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 来实现授权服务器?