最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot整合Keycloak實現(xiàn)單點登錄的示例代碼

 更新時間:2022年03月22日 08:32:56   作者:liu320yj  
本文主要介紹了SpringBoot整合Keycloak實現(xiàn)單點登錄的示例代碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

Keycloak是一個開源的身份和權限訪問管理工具,輕松為應用程序和安全服務添加身份驗證,無需處理儲存用戶或者驗證用戶,其提供用戶聯(lián)合、強健的身份驗證、用戶管理和細粒度授權等功能。

1. 搭建Keycloak服務器

本文使用docker compose安裝keycloak,因為keycloak依賴數(shù)據(jù)庫,在安裝keycloak之前需要先安裝數(shù)據(jù)庫,本文使用mysql,具體的compose配置如下:

version: '3.7'
services:
  mysql:
    container_name: mysql
    image: mysql:latest
    restart: unless-stopped
    command: --lower_case_table_names=1 --sql-mode=""
    ports:
      - 3306:3306
    volumes:
      - ./db-init:/docker-entrypoint-initdb.d
      - ./data:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: 123456
  keycloak:
    container_name: keycloak
    image: jboss/keycloak:latest
    restart: unless-stopped
    depends_on:
      - mysql
    environment:
      DB_VENDOR: mysql
      DB_USER: root
      DB_PASSWORD: 123456
      KEYCLOAK_USER: admin
      KEYCLOAK_PASSWORD: 123456
    ports:
      - 8080:8080

依次執(zhí)行命令docker-compose up mysql和docker-compose up keycloak

安裝mysql

安裝keycloak

2. 配置權限

2.1. 登陸

在瀏覽器輸入地址:http://localhost:8080,出現(xiàn)如下界面

首頁

點擊Administration Console,進入登錄界面

登錄頁

輸入用戶名和密碼:admin/123456,進入首頁

2.2. 創(chuàng)建Realm

鼠標放在下圖箭頭所指處,會彈出Add realm選項

進入新增realm

點擊Add realm進入配置頁面,輸入realm名稱,點擊Create

新增realm

配置重定向地址

創(chuàng)建重定向地址

2.3. 創(chuàng)建用戶

點擊左側Users選項,進入用戶創(chuàng)建頁面

創(chuàng)建用戶

點擊Add user,進入創(chuàng)建用戶,輸入用戶名稱

創(chuàng)建用戶

點擊保存,選擇Credentials配置密碼

配置密碼

2.4. 創(chuàng)建客戶端

點擊左側Clients選項,點擊Create

創(chuàng)建客戶端

輸入Client ID名稱,點擊保存

創(chuàng)建client

2.5. 創(chuàng)建角色

在左側菜單欄選擇Roles

創(chuàng)建角色

點擊Add Role

創(chuàng)建角色

2.6. 配置用戶角色關系

用戶添加角色

2.7. 配置客戶端和角色關系

選擇左側菜單項Clients,配置Client和角色的關系

client關聯(lián)角色

3. 整合SpringBoot

3.1. 引入核心依賴

<dependencies>
	<dependency>
	    <groupId>org.springframework.boot</groupId>
	    <artifactId>spring-boot-starter-web</artifactId>
	</dependency>
	<dependency>
	    <groupId>org.keycloak</groupId>
	    <artifactId>keycloak-spring-boot-starter</artifactId>
	    <version>17.0.0</version>
	</dependency>
<dependencies/>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.keycloak.bom</groupId>
            <artifactId>keycloak-adapter-bom</artifactId>
            <version>17.0.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

3.2. 編寫Controller

@RestController
@RequestMapping("/hello")
public class HelloController {

    @GetMapping("/world")
    public String hello() {
        return "Hello World";
    }
}

3.3. 編寫application.yml

server:
  port: 8139
spring:
  application:
    name: springboot-keycloak
keycloak:
  realm: springboot-keycloak #客戶端所在的realm
  auth-server-url: http://localhost:8080/auth #keycloak授權服務器地址
  resource: sb-keycloak #客戶端名稱
  public-client: true #聲明為一個公開的客戶端
  security-constraints:
    - auth-roles:
        - sk-role
      security-collections:
        - name: hello
          patterns:
            - '/hello/world'

更多有關SpringBoot整合Keycloak的相關資料,請參閱Keycloak官網(wǎng)文檔

4. 驗證

啟動SpringBoot項目,在瀏覽器輸入地址http://localhost:8139/hello/world,會重定向到keycloak登陸頁面,如下圖所示:

重定向到keycloak登陸頁

輸入用戶名和密碼:sk-admin/123456

跳轉到訪問頁

 到此這篇關于SpringBoot整合Keycloak實現(xiàn)單點登錄的示例代碼的文章就介紹到這了,更多相關SpringBoot Keycloak單點登錄內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java中動態(tài)規(guī)則的實現(xiàn)方式示例詳解

    Java中動態(tài)規(guī)則的實現(xiàn)方式示例詳解

    這篇文章主要介紹了Java中動態(tài)規(guī)則的實現(xiàn)方式,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • 微服務Springcloud之Feign的基本使用

    微服務Springcloud之Feign的基本使用

    這篇文章主要介紹了微服務Springcloud之Feign的基本使用,Spring?Cloud集成Feign并對其進行了增強,使Feign支持了Spring?MVC注解,需要的朋友可以參考下
    2023-03-03
  • Mybatis generator自動生成代碼插件實例解析

    Mybatis generator自動生成代碼插件實例解析

    這篇文章主要介紹了Mybatis generator自動生成代碼插件實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • 基于RabbitMQ的簡單應用(詳解)

    基于RabbitMQ的簡單應用(詳解)

    下面小編就為大家分享一篇基于RabbitMQ的簡單應用(詳解),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-11-11
  • 舉例解析Java的圖像緩沖技術的使用

    舉例解析Java的圖像緩沖技術的使用

    這篇文章主要介紹了Java的圖像緩沖技術的使用,使用到了Java的awt.image包,需要的朋友可以參考下
    2015-10-10
  • Java實現(xiàn)Excel與TXT文本的高效互轉

    Java實現(xiàn)Excel與TXT文本的高效互轉

    在日常開發(fā)中,我們經(jīng)常需要在不同的數(shù)據(jù)存儲格式之間進行轉換,本文將分享如何在 Java 中高效實現(xiàn) Excel 與 TXT 的互轉,有需要的小伙伴可以了解下
    2025-09-09
  • Springboot?過濾器、攔截器、全局異常處理的方案處理小結

    Springboot?過濾器、攔截器、全局異常處理的方案處理小結

    攔截器是一種動態(tài)攔截方法調用的機制,與過濾器類似,是Spring框架中提供的,用來動態(tài)攔截控制器方法的執(zhí)行,這篇文章主要介紹了Springboot?過濾器、攔截器、全局異常處理,需要的朋友可以參考下
    2024-03-03
  • Java使用DateFormatter格式化日期時間的方法示例

    Java使用DateFormatter格式化日期時間的方法示例

    這篇文章主要介紹了Java使用DateFormatter格式化日期時間的方法,結合具體實例分析了java使用DateFormatter格式化日期時間的相關操作技巧,需要的朋友可以參考下
    2017-04-04
  • Java日常練習題,每天進步一點點(18)

    Java日常練習題,每天進步一點點(18)

    下面小編就為大家?guī)硪黄狫ava基礎的幾道練習題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望可以幫到你
    2021-07-07
  • springBoot項目常用目錄解讀

    springBoot項目常用目錄解讀

    這篇文章主要介紹了springBoot項目常用目錄解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05

最新評論

扎兰屯市| 彰化县| 鲜城| 阿拉善左旗| 漾濞| 天长市| 大新县| 罗定市| 横山县| 浪卡子县| 读书| 石屏县| 汨罗市| 杭锦后旗| 托克逊县| 北碚区| 万全县| 壶关县| 塘沽区| 玉环县| 湾仔区| 兰坪| 清原| 恩平市| 新河县| 蓬溪县| 恭城| 延长县| 额济纳旗| 郎溪县| 峡江县| 璧山县| 金阳县| 新津县| 青海省| 沐川县| 昌图县| 晴隆县| 蓬安县| 玉门市| 河间市|