欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring Security基本配置方法解析

 更新時間:2019年09月20日 11:19:45   作者:僅此而已-遠(yuǎn)方  
這篇文章主要介紹了Spring Security基本配置方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

Spring Security 是一個功能強大且可高度自定義的身份驗證和訪問控制框架。 它是保護(hù)基于Spring的應(yīng)用程序的事實上的標(biāo)準(zhǔn)。
Spring Security 是一個專注于為Java應(yīng)用程序提供身份驗證和授權(quán)的框架。 與所有Spring項目一樣,Spring Security的真正強大之處在于它可以輕松擴展以滿足自定義要求

先建立一個maven多模塊工程,如下:

  • spring-security:父模塊
  • spring-security-browser:處理瀏覽器相關(guān)的授權(quán)認(rèn)證,最終作為demo的一個jar依賴
  • spring-security-core:一些授權(quán)認(rèn)證的公共方法和類,并將公共依賴放在這里
  • spring-security-demo:授權(quán)認(rèn)證demo服務(wù)

spring-security-core

pom依賴:

<!-- 工具類包 -->
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
      <version>3.7</version>
    </dependency>
    <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-collections4</artifactId>
      <version>4.1</version>
    </dependency>
    <dependency>
      <groupId>commons-beanutils</groupId>
      <artifactId>commons-beanutils</artifactId>
    </dependency>
    <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>2.6</version>
    </dependency>
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    <dependency>
      <!-- thymeleaf-視圖解析 -->
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>

spring-security-browser

pom依賴:

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
      <groupId>com.xwj</groupId>
      <artifactId>spring-security-core</artifactId>
      <version>0.0.1-SNAPSHOT</version>
    </dependency>

Security配置:

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
  protected void configure(HttpSecurity http) throws Exception {
    http.formLogin() // 表單登錄。跳轉(zhuǎn)到security默認(rèn)的登錄表單頁
    // http.httpBasic() //basic登錄
    .and()
    .authorizeRequests() // 對請求授權(quán)
    .antMatchers("/noAuth").permitAll() //允許所有人訪問/noAuth
    .anyRequest() // 任何請求
    .authenticated()// 需要身份認(rèn)證
    ; 
  }
}

spring-security-demo

pom依賴:

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
     <dependency>
      <groupId>com.xwj</groupId>
      <artifactId>spring-security-browser</artifactId>
      <version>0.0.1-SNAPSHOT</version>
    </dependency>

Controller中:

@RestController
@RequestMapping
public class IndexController {
  /**
   * 不需要認(rèn)證的請求
   */
  @GetMapping("/noAuth")
  public String noAuth() {
    return "noAuth";
  }
  /**
   * 需要認(rèn)證的請求
   */
  @GetMapping("/user")
  public String user() {
    return "user";
  }
}

啟動服務(wù)。在日志中,可以看到如下信息:

Using default security password: 90d9e73a-490c-484b-b7c5-5cd75c634e2f

這是security的默認(rèn)密碼,在后面登錄時會用到

該服務(wù)端口為18081,在瀏覽器訪問 http://localhost:18081/noAuth,該請求是不需要認(rèn)證的,所以直接進(jìn)入到我們的服務(wù),如下:

再訪問 http://localhost:18081/user,該請求是需要認(rèn)證的,會先跳到security默認(rèn)的登錄頁(也可以自定義登錄頁),如下:

用戶名隨便輸入,密碼為日志中打印的密碼:90d9e73a-490c-484b-b7c5-5cd75c634e2f

點擊login按鈕,登錄成功,返回一個user。當(dāng)重新訪問這個請求時,由于已經(jīng)認(rèn)證過了,所以現(xiàn)在可以直接訪問了

至此,最簡單的security配置完成~

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java連接postgresql數(shù)據(jù)庫的示例代碼

    Java連接postgresql數(shù)據(jù)庫的示例代碼

    本篇文章主要介紹了Java連接postgresql數(shù)據(jù)庫的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • spring的applicationContext.xml文件與NamespaceHandler解析

    spring的applicationContext.xml文件與NamespaceHandler解析

    這篇文章主要介紹了spring的applicationContext.xml文件與NamespaceHandler解析,Spring容器啟動,在創(chuàng)建BeanFactory時,需要加載和解析當(dāng)前ApplicationContext對應(yīng)的配置文件applicationContext.xml,從而獲取bean相關(guān)的配置信息,需要的朋友可以參考下
    2023-12-12
  • 深入理解SpringBoot中關(guān)于Mybatis使用方法

    深入理解SpringBoot中關(guān)于Mybatis使用方法

    這篇文章主要介紹了SpringBoot中關(guān)于Mybatis使用方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-03-03
  • Springboot整合RabbitMq測試TTL的方法詳解

    Springboot整合RabbitMq測試TTL的方法詳解

    這篇文章主要介紹了Springboot整合RabbitMq測試TTL的設(shè)置,設(shè)置TTL一般由兩種設(shè)置方法,設(shè)置整個隊列的過期時間另一種設(shè)置單個消息的過期時間,通過示例圖文相結(jié)合給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • 基于SpringBoot2的Shiro最簡配置操作(兩個文件)

    基于SpringBoot2的Shiro最簡配置操作(兩個文件)

    這篇文章主要介紹了基于SpringBoot2的Shiro最簡配置操作(兩個文件),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • java中final與finally的使用介紹

    java中final與finally的使用介紹

    本篇文章介紹了,在java中final與finally的使用。需要的朋友參考下
    2013-04-04
  • SpringCloud Finchley Gateway 緩存請求Body和Form表單的實現(xiàn)

    SpringCloud Finchley Gateway 緩存請求Body和Form表單的實現(xiàn)

    在接入Spring-Cloud-Gateway時,可能有需求進(jìn)行緩存Json-Body數(shù)據(jù)或者Form-Urlencoded數(shù)據(jù)的情況。這篇文章主要介紹了SpringCloud Finchley Gateway 緩存請求Body和Form表單的實現(xiàn),感興趣的小伙伴們可以參考一下
    2019-01-01
  • Java之使用POI教你玩轉(zhuǎn)Excel導(dǎo)入與導(dǎo)出

    Java之使用POI教你玩轉(zhuǎn)Excel導(dǎo)入與導(dǎo)出

    這篇文章主要介紹了Java之使用POI教你玩轉(zhuǎn)Excel導(dǎo)入與導(dǎo)出,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Springboot實現(xiàn)VNC的反向代理功能

    Springboot實現(xiàn)VNC的反向代理功能

    這篇文章主要介紹了Springboot實現(xiàn)VNC的反向代理,搭建過程也很簡單,通過注冊bean攔截指定URL路徑進(jìn)行自定義操作,具體實例代碼跟隨小編一起看看需要的朋友可以參考下
    2021-09-09
  • Java 重命名 Excel 工作表并設(shè)置工作表標(biāo)簽顏色的示例代碼

    Java 重命名 Excel 工作表并設(shè)置工作表標(biāo)簽顏色的示例代碼

    這篇文章主要介紹了Java 重命名 Excel 工作表并設(shè)置工作表標(biāo)簽顏色的示例代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-10-10

最新評論