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

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

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

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

1. 搭建Keycloak服務(wù)器

本文使用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. 配置權(quán)限

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)建用戶

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

創(chuàng)建用戶

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

創(chuàng)建用戶

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

配置密碼

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

點擊左側(cè)Clients選項,點擊Create

創(chuàng)建客戶端

輸入Client ID名稱,點擊保存

創(chuàng)建client

2.5. 創(chuàng)建角色

在左側(cè)菜單欄選擇Roles

創(chuàng)建角色

點擊Add Role

創(chuàng)建角色

2.6. 配置用戶角色關(guān)系

用戶添加角色

2.7. 配置客戶端和角色關(guān)系

選擇左側(cè)菜單項Clients,配置Client和角色的關(guān)系

client關(guān)聯(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授權(quán)服務(wù)器地址
  resource: sb-keycloak #客戶端名稱
  public-client: true #聲明為一個公開的客戶端
  security-constraints:
    - auth-roles:
        - sk-role
      security-collections:
        - name: hello
          patterns:
            - '/hello/world'

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

4. 驗證

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

重定向到keycloak登陸頁

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

跳轉(zhuǎn)到訪問頁

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

相關(guān)文章

  • 用Eclipse生成JPA元模型的方法

    用Eclipse生成JPA元模型的方法

    下面小編就為大家?guī)硪黄肊clipse生成JPA元模型的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • java 和 json 對象間轉(zhuǎn)換

    java 和 json 對象間轉(zhuǎn)換

    這篇文章主要介紹了java 和 json 對象間轉(zhuǎn)換,需要的朋友可以參考下
    2014-03-03
  • Spring boot詳解緩存redis實現(xiàn)定時過期方法

    Spring boot詳解緩存redis實現(xiàn)定時過期方法

    本篇文章分享的就是spring boot中的一個輪子,spring cache注解的方式實現(xiàn)接口數(shù)據(jù)緩存。默認的配置想非常簡單,但是有一個弊端是緩存數(shù)據(jù)為永久緩存,本次將介紹如何設(shè)置接口緩存數(shù)據(jù)的過期時間
    2022-07-07
  • SpringBoot整合EasyExcel實現(xiàn)文件導(dǎo)入導(dǎo)出

    SpringBoot整合EasyExcel實現(xiàn)文件導(dǎo)入導(dǎo)出

    這篇文章主要介紹了SpringBoot整合EasyExcel實現(xiàn)文件導(dǎo)入導(dǎo)出的方法,幫助大家更好的理解和學(xué)習(xí)使用SpringBoot,感興趣的朋友可以了解下
    2021-05-05
  • Java list foreach修改元素方式

    Java list foreach修改元素方式

    這篇文章主要介紹了Java list foreach修改元素方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Mybatis-plus實現(xiàn)主鍵自增和自動注入時間的示例代碼

    Mybatis-plus實現(xiàn)主鍵自增和自動注入時間的示例代碼

    這篇文章主要介紹了Mybatis-plus實現(xiàn)主鍵自增和自動注入時間的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Java實現(xiàn)簡單臺球游戲

    Java實現(xiàn)簡單臺球游戲

    這篇文章主要為大家詳細介紹了Java實現(xiàn)簡單臺球游戲,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Springboot?異步任務(wù)和定時任務(wù)的異步處理

    Springboot?異步任務(wù)和定時任務(wù)的異步處理

    本文介紹了Springboot異步任務(wù)和定時任務(wù)的異步處理,Springboot?中,異步任務(wù)和定時任務(wù)是經(jīng)常遇到的處理問題方式,為了能夠用好這兩項配置,不干擾正常的業(yè)務(wù),需要對其進行異步化配置。怎么設(shè)置合理的異步處理線程就是其核心和關(guān)鍵,下文詳情需要的朋友可以參考下
    2022-05-05
  • Spring+quartz實現(xiàn)定時發(fā)送郵件功能實例

    Spring+quartz實現(xiàn)定時發(fā)送郵件功能實例

    spring提供的定時發(fā)送郵件功能一直深受廣大web開發(fā)者的喜愛,這篇文章主要介紹了Spring+quartz實現(xiàn)定時發(fā)送郵件功能實例,有興趣的可以了解一下。
    2017-03-03
  • Java如何通過Maven管理項目依賴

    Java如何通過Maven管理項目依賴

    這篇文章主要介紹了Java如何通過Maven管理項目依賴,幫助大家更好的理解和使用maven,感興趣的朋友可以了解下
    2020-10-10

最新評論