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

帶你詳細了解Spring Security的注解方式開發(fā)

 更新時間:2021年08月24日 16:38:34   作者:紅旗下的小兵  
這篇文章主要介紹了詳解spring security四種實現(xiàn)方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

默認情況下,不會開啟注解,如果想用注解,需要開啟注解支持。

在啟動類上開啟:

@EnableGlobalMethodSecurity(securedEnabled = true)

@SpringBootApplication
@ComponentScan(basePackages = {"com.example"})
// 開啟springSecurity注解支持
@EnableGlobalMethodSecurity(securedEnabled = true)
public class SeqeurityTestApplication {
    public static void main(String[] args) {
        SpringApplication.run(SeqeurityTestApplication.class, args);
    }
}

以下的注解可以放在Service接口或方法上,也可以寫到Controller 的方法上。但通常寫在控制器方法上。

常用的注解

(1)@Secured

相當于配置類中的hasRole()方法。

@Secured 是專門用于判斷是否具有某個角色。能寫在方法上或類上。參數(shù)要以 ROLE_開頭。

使用:

// 只有 有角色abc的登錄者才能訪問這個接口
@Secured(value="ROLE_abc")
@RequestMapping (value = "/login1")
public String login() {
    return "login11";
}

上邊的角色對應的是:

(2)@PreAuthorize / @PostAuthorize

@PreAuthorize / @PostAuthorize 都是方法級別的注解。

@PreAuthorize 表示訪問方法或類在執(zhí)行之前先判斷權限,大多數(shù)情況下使用這個注解,注解的參數(shù)和access() 方法參數(shù)取值相同,都是權限表達式。

@PostAuthorize 表示方法或類執(zhí)行結束后判斷權限,此注解很少使用。

使用上邊兩個注解,必須要開啟注解支持:

// 開啟springSecurity注解支持
@EnableGlobalMethodSecurity(securedEnabled = true, prePostEnabled = true)

測試

// 只有 有角色abc的登錄者才能訪問這個接口,參數(shù)是access表達式
@PreAuthorize("hasRole('abc')") // 可以寫成 @PreAuthorize("hasRole('ROLE_abc')")
@RequestMapping (value = "/login1")
public String login() {
    return "login11";
}

總結

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關注腳本之家的更多內(nèi)容!

相關文章

  • SpringMVC中請求參數(shù)的獲取方式

    SpringMVC中請求參數(shù)的獲取方式

    這篇文章主要為大家介紹了SpringMVC中請求參數(shù)的獲取方式,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-05-05
  • SpringBoot實現(xiàn)redis延遲隊列的示例代碼

    SpringBoot實現(xiàn)redis延遲隊列的示例代碼

    延時隊列場景在我們?nèi)粘I(yè)務開發(fā)中經(jīng)常遇到,它是一種特殊類型的消息隊列,本文就來介紹一下SpringBoot實現(xiàn)redis延遲隊列的示例代碼,具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • Java超過long類型的數(shù)據(jù)表示方法

    Java超過long類型的數(shù)據(jù)表示方法

    這篇文章主要給大家介紹Java超過long類型的數(shù)據(jù)如何表示,在 Java 中,如果需要表示超過 long 類型范圍的數(shù)據(jù),可以使用 BigInteger 類,BigInteger 是 Java 提供的一個用于處理任意精度整數(shù)的類,它可以表示非常大或非常小的整數(shù),需要的朋友可以參考下
    2023-09-09
  • 詳細總結Java中常用的原子類

    詳細總結Java中常用的原子類

    今天給大家總結了一下Java常用的原子類,文中有非常詳細的介紹及代碼示例,對正在學習java的小伙伴們很有幫助,需要的朋友可以參考下
    2021-05-05
  • Java的String類中的startsWith方法和endsWith方法示例詳解

    Java的String類中的startsWith方法和endsWith方法示例詳解

    大家應該都知道startsWith()方法用于檢測字符串是否以指定的前綴開始,endsWith()方法用于測試字符串是否以指定的后綴結束,本文就Java的String類中的startsWith方法和endsWith方法給大家詳細講解,感興趣的朋友一起看看吧
    2023-11-11
  • IDEA 包轉模塊的解決步驟

    IDEA 包轉模塊的解決步驟

    很多朋友遇到這樣一個問題,直接在idea拉取代碼,發(fā)現(xiàn)創(chuàng)建的模塊包類型不一樣了,類似這樣的問題該如何處理呢?很多朋友向小編求助,在這統(tǒng)一回答大家,需要的朋友參考下本文吧
    2021-06-06
  • Spring 單元測試中如何進行 mock的實現(xiàn)

    Spring 單元測試中如何進行 mock的實現(xiàn)

    這篇文章主要介紹了Spring 單元測試中如何進行 mock的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • java利用mybatis攔截器統(tǒng)計sql執(zhí)行時間示例

    java利用mybatis攔截器統(tǒng)計sql執(zhí)行時間示例

    這篇文章主要介紹了java利用mybatis攔截器統(tǒng)計sql執(zhí)行時間示例,該攔截器攔截mybatis的query和update操作,能統(tǒng)計sql執(zhí)行時間
    2014-03-03
  • 淺析Java中Future接口的使用方法

    淺析Java中Future接口的使用方法

    在Java開發(fā)中,異步編程是提高系統(tǒng)性能和響應能力的重要手段之一。本文將深入探討Future接口的原理和源碼解讀,幫助讀者更好地理解Future接口的工作機制和使用方法
    2023-05-05
  • mybatis中的異常BindingException詳解

    mybatis中的異常BindingException詳解

    這篇文章主要介紹了mybatis中的異常BindingException詳解,此異常是mybatis中拋出的,意思是使用的這個方法找到,但是因為mapperScan()已經(jīng)掃描到了Mapper類了,在綁定Mapper.xml時沒有綁定到導致的,需要的朋友可以參考下
    2024-01-01

最新評論