創(chuàng)建應(yīng)用程序使用Spring Security LDAP 模塊保護(hù)它的過(guò)程

創(chuàng)建應(yīng)用程序并使用Spring Security LDAP 模塊保護(hù)它的過(guò)程

你將建造什么

您將構(gòu)建一個(gè)簡(jiǎn)單的 Web 應(yīng)用程序,該應(yīng)用程序由 Spring Security 的嵌入式基于 Java 的 LDAP 服務(wù)器保護(hù)。您將使用包含一組用戶(hù)的數(shù)據(jù)文件加載 LDAP 服務(wù)器。

你需要什么

約15分鐘

最喜歡的文本編輯器或 IDE

JDK 1.8或更高版本

Gradle 4+或Maven 3.2+

您還可以將代碼直接導(dǎo)入 IDE:彈簧工具套件 (STS)IntelliJ IDEA

如何完成本指南

像大多數(shù) Spring入門(mén)指南一樣,您可以從頭開(kāi)始并完成每個(gè)步驟,也可以繞過(guò)您已經(jīng)熟悉的基本設(shè)置步驟。無(wú)論哪種方式,您最終都會(huì)得到工作代碼。

要從頭開(kāi)始,請(qǐng)繼續(xù)從 Spring Initializr 開(kāi)始。

要跳過(guò)基礎(chǔ)知識(shí),請(qǐng)執(zhí)行以下操作:

下載并解壓本指南的源代碼庫(kù),或使用Git克隆它:git clone https://github.com/spring-guides/gs-authenticating-ldap.git

光盤(pán)進(jìn)入gs-authenticating-ldap/initial

繼續(xù)創(chuàng)建一個(gè)簡(jiǎn)單的 Web 控制器。

完成后,您可以對(duì)照中的代碼檢查結(jié)果

gs-authenticating-ldap/complete。

從 Spring Initializr 開(kāi)始

因?yàn)楸局改系闹攸c(diǎn)是保護(hù)不安全的 Web 應(yīng)用程序,您將首先構(gòu)建一個(gè)不安全的 Web 應(yīng)用程序,然后在本指南的后面,為 Spring Security 和 LDAP 功能添加更多依賴(lài)項(xiàng)。

您可以使用這個(gè)預(yù)先初始化的項(xiàng)目并單擊 Generate 下載 ZIP 文件。此項(xiàng)目配置為適合本教程中的示例。

手動(dòng)初始化項(xiàng)目:

導(dǎo)航到https://start.spring.io。該服務(wù)提取應(yīng)用程序所需的所有依賴(lài)項(xiàng),并為您完成大部分設(shè)置。

選擇 Gradle 或 Maven 以及您要使用的語(yǔ)言。本指南假定您選擇了 Java。

單擊Dependencies并選擇Spring Web。

創(chuàng)建應(yīng)用程序并使用Spring Security LDAP 模塊保護(hù)它的過(guò)程

單擊生成。

下載生成的 ZIP 文件,該文件是根據(jù)您的選擇配置的 Web 應(yīng)用程序的存檔。

如果您的 IDE 具有 Spring Initializr 集成,您可以從您的 IDE 完成此過(guò)程。

你也可以從 Github 上 fork 項(xiàng)目并在你的 IDE 或其他編輯器中打開(kāi)它。

創(chuàng)建一個(gè)簡(jiǎn)單的 Web 控制器

在 Spring 中,REST 端點(diǎn)是 Spring MVC 控制器。以下 Spring MVC 控制器(來(lái)自)通過(guò)返回簡(jiǎn)單消息來(lái)

src/main/java/com/example/authenticatingldap/HomeController.java處理請(qǐng)求: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!";  }}復(fù)制

整個(gè)類(lèi)都被標(biāo)記了,@RestController以便 Spring MVC 可以自動(dòng)檢測(cè)控制器(通過(guò)使用其內(nèi)置的掃描功能)并自動(dòng)配置必要的 Web 路由。

@RestController還告訴 Spring MVC 將文本直接寫(xiě)入 HTTP 響應(yīng)正文,因?yàn)闆](méi)有視圖。相反,當(dāng)您訪(fǎng)問(wèn)該頁(yè)面時(shí),您會(huì)在瀏覽器中收到一條簡(jiǎn)單的消息(因?yàn)楸局改系闹攸c(diǎn)是使用 LDAP 保護(hù)該頁(yè)面)。