溫馨提示×

溫馨提示×

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

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

SpringSecurity的基本配置方法

發布時間:2021-09-14 10:48:40 來源:億速云 閱讀:174 作者:chen 欄目:編程語言

這篇文章主要介紹“SpringSecurity的基本配置方法”,在日常操作中,相信很多人在SpringSecurity的基本配置方法問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”SpringSecurity的基本配置方法”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

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

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

spring-security:父模塊  spring-security-browser:處理瀏覽器相關的授權認證,最終作為demo的一個jar依賴  spring-security-core:一些授權認證的公共方法和類,并將公共依賴放在這里  spring-security-demo:授權認證demo服務

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@EnableWebSecuritypublic class SecurityConfig extends WebSecurityConfigurerAdapter {    @Override  protected void configure(HttpSecurity http) throws Exception {    http.formLogin() // 表單登錄。跳轉到security默認的登錄表單頁    // http.httpBasic() //basic登錄    .and()    .authorizeRequests() // 對請求授權    .antMatchers("/noAuth").permitAll() //允許所有人訪問/noAuth    .anyRequest() // 任何請求    .authenticated()// 需要身份認證    ;   }}

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@RequestMappingpublic class IndexController {  /**   * 不需要認證的請求   */  @GetMapping("/noAuth")  public String noAuth() {    return "noAuth";  }  /**   * 需要認證的請求   */  @GetMapping("/user")  public String user() {    return "user";  }}

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

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

這是security的默認密碼,在后面登錄時會用到

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

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

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

點擊login按鈕,登錄成功,返回一個user。當重新訪問這個請求時,由于已經認證過了,所以現在可以直接訪問了

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

到此,關于“SpringSecurity的基本配置方法”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

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

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女