溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現(xiàn)SpringSecurity 應用

發(fā)布時間:2021-10-20 16:24:38 來源:億速云 閱讀:144 作者:柒染 欄目:大數(shù)據(jù)

本篇文章為大家展示了如何實現(xiàn)SpringSecurity 應用,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

第一個 SpringSecurity 應用

Spring Security 官方介紹 https://spring.io/projects/spring-security#learn

Spring Security 目標是解決 “你是誰?”、“你能做什么?”兩個問題。

實現(xiàn)步驟

1. 創(chuàng)建目錄結構

|____spring-security-learn-1
| |____build.gradle
| |____src
| | |____main
| | | |____java
| | | |____resources

2. 創(chuàng)建文件 build.gradle

重點引入 spring-boot-starter-security 依賴項,完整的 gradle 配置如下:

plugins {
    id 'java'
    id "io.spring.dependency-management" version "1.0.8.RELEASE"
}

group 'net.txt100.learn'
version '1.0'

sourceCompatibility = 1.8

apply plugin: 'application'
mainClassName = 'net.txt100.learn.springsecurity.base.case1.Case1Application'

repositories {
    maven {
        url "http://maven.aliyun.com/nexus/content/groups/public"
    }
    mavenCentral()
}

dependencyManagement {
    imports {
        mavenBom 'org.springframework.boot:spring-boot-dependencies:2.1.6.RELEASE'
    }
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    // spring boot
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-web'
    compile group: 'org.springframework.boot', name: 'spring-boot-starter-security'
}

3. 創(chuàng)建一個資源服務 UserController.java

package net.txt100.learn.springsecurity.base.case1.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * Title: UserController
 * Package: net.txt100.learn.springsecurity.base.case1.controller
 * Creation date: 2019-08-08
 * Description:
 *
 * @author <a href="me@tonglei.win">Tonglei</a>
 * @since 1.0
 */
@RestController
@RequestMapping("/user")
public class UserController {

    @RequestMapping("/all")
    public String getAllUsers() {
        return "這是一個被保護的資源 /user/all";
    }
}

4. 創(chuàng)建 spring-boot 啟動類 Case1Application.java

package net.txt100.learn.springsecurity.base.case1;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * @author <a href="mailto:me@tonglei.win">Tonglei</a>
 * @since 1.0
 */
@SpringBootApplication
public class Case1Application {
    public static void main(String[] args) {
        SpringApplication.run(Case1Application.class, args);
    }
}

5. 編譯及執(zhí)行

打開命令行,進入工程根目錄,執(zhí)行編譯命令

gradle compileJava

執(zhí)行運行命令

gradle run

訪問 http://localhost:8080/user/all

此時瀏覽器顯示

用戶名填入 user

密碼每次啟動時自動生成,可以在日志中找到

...
2019-08-08 15:13:10.028 INFO 824 --- [ main] .s.s.UserDetailsServiceAutoConfiguration :
Using generated security password: 8c20d4a7-7507-41ce-a271-a75fbe0c7dee

認證通過后,可看到 User 控制器返回內(nèi)容

最簡單的 spring-security 項目只需要在項目依賴中增加 spring-boot-starter-security 即可。

默認情況下,該項目的所有資源地址均需認證成功后才能訪問。默認賬戶 user,密碼可從日志中找到。

如果想取消默認的安全設置,需要在配置文件中增加以下內(nèi)容:

security.basic.enabled = false # 默認禁用 spring-security 安全配置

上述內(nèi)容就是如何實現(xiàn)SpringSecurity 應用,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI