本篇文章為大家展示了如何實現(xiàn)SpringSecurity 應用,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
成都創(chuàng)新互聯(lián)專注于寧陵企業(yè)網(wǎng)站建設,響應式網(wǎng)站建設,商城建設。寧陵網(wǎng)站建設公司,為寧陵等地區(qū)提供建站服務。全流程按需網(wǎng)站策劃,專業(yè)設計,全程項目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務
Spring Security 官方介紹 https://spring.io/projects/spring-security#learn
Spring Security 目標是解決 “你是誰?”、“你能做什么?”兩個問題。
|____spring-security-learn-1 | |____build.gradle | |____src | | |____main | | | |____java | | | |____resources
重點引入 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' }
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 Tonglei * @since 1.0 */ @RestController @RequestMapping("/user") public class UserController { @RequestMapping("/all") public String getAllUsers() { return "這是一個被保護的資源 /user/all"; } }
package net.txt100.learn.springsecurity.base.case1; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; /** * @author Tonglei * @since 1.0 */ @SpringBootApplication public class Case1Application { public static void main(String[] args) { SpringApplication.run(Case1Application.class, args); } }
打開命令行,進入工程根目錄,執(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 應用,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。