创建应用程序并使用Spring Security LDAP 模块保护它的过程

创建应用程序并使用Spring Security LDAP 模块保护它的过程

你将建造什么

您将构建一个简单的 Web 应用程序,该应用程序由 Spring Security 的嵌入式基于 Java 的 LDAP 服务器保护。您将使用包含一组用户的数据文件加载 LDAP 服务器。

你需要什么

约15分钟

最喜欢的文本编辑器或 IDE

JDK 1.8或更高版本

Gradle 4+或Maven 3.2+

您还可以将代码直接导入 IDE:弹簧工具套件 (STS)IntelliJ IDEA

如何完成本指南

像大多数 Spring入门指南一样,您可以从头开始并完成每个步骤,也可以绕过您已经熟悉的基本设置步骤。无论哪种方式,您最终都会得到工作代码。

要从头开始,请继续从 Spring Initializr 开始。

要跳过基础知识,请执行以下操作

下载并解压本指南的源代码库,或使用Git克隆它:git clone https://github.com/spring-guides/gs-authenticating-ldap.git

光盘进入gs-authenticating-ldap/initial

继续创建一个简单的 Web 控制器。

完成后,您可以对照中的代码检查结果

gs-authenticating-ldap/complete。

从 Spring Initializr 开始

因为本指南的重点是保护不安全的 Web 应用程序,您将首先构建一个不安全的 Web 应用程序,然后在本指南的后面,为 Spring Security 和 LDAP 功能添加更多依赖项。

您可以使用这个预先初始化的项目并单击 Generate 下载 ZIP 文件。此项目配置为适合本教程中的示例。

手动初始化项目:

导航到https://start.spring.io。该服务提取应用程序所需的所有依赖项,并为您完成大部分设置。

选择 Gradle 或 Maven 以及您要使用的语言。本指南假定您选择了 Java。

单击Dependencies并选择Spring Web。

创建应用程序并使用Spring Security LDAP 模块保护它的过程

单击生成。

下载生成的 ZIP 文件,该文件是根据您的选择配置的 Web 应用程序的存档。

如果您的 IDE 具有 Spring Initializr 集成,您可以从您的 IDE 完成此过程。

你也可以从 Github 上 fork 项目并在你的 IDE 或其他编辑器中打开它。

创建一个简单的 Web 控制器

在 Spring 中,REST 端点是 Spring MVC 控制器。以下 Spring MVC 控制器(来自)通过返回简单消息来

src/main/java/com/example/authenticatingldap/HomeController.java处理请求:GET /

package com.example.authenticatingldap;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class HomeController {  @GetMapping("/")  public String index() {    return "Welcome to the home page!";  }}复制

整个类都被标记了,@RestController以便 Spring MVC 可以自动检测控制器(通过使用其内置的扫描功能)并自动配置必要的 Web 路由。

@RestController还告诉 Spring MVC 将文本直接写入 HTTP 响应正文,因为没有视图。相反,当您访问该页面时,您会在浏览器中收到一条简单的消息(因为本指南的重点是使用 LDAP 保护该页面)。