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

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

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

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

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

本文使用docker compose安裝keycloak,因?yàn)閗eycloak依賴數(shù)據(jù)庫(kù),在安裝keycloak之前需要先安裝數(shù)據(jù)庫(kù),本文使用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)如下界面

首頁(yè)

點(diǎn)擊Administration Console,進(jìn)入登錄界面

登錄頁(yè)

輸入用戶名和密碼:admin/123456,進(jìn)入首頁(yè)

2.2. 創(chuàng)建Realm

鼠標(biāo)放在下圖箭頭所指處,會(huì)彈出Add realm選項(xiàng)

進(jìn)入新增realm

點(diǎn)擊Add realm進(jìn)入配置頁(yè)面,輸入realm名稱,點(diǎn)擊Create

新增realm

配置重定向地址

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

2.3. 創(chuàng)建用戶

點(diǎn)擊左側(cè)Users選項(xiàng),進(jìn)入用戶創(chuàng)建頁(yè)面

創(chuàng)建用戶

點(diǎn)擊Add user,進(jìn)入創(chuàng)建用戶,輸入用戶名稱

創(chuàng)建用戶

點(diǎn)擊保存,選擇Credentials配置密碼

配置密碼

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

點(diǎn)擊左側(cè)Clients選項(xiàng),點(diǎn)擊Create

創(chuàng)建客戶端

輸入Client ID名稱,點(diǎn)擊保存

創(chuàng)建client

2.5. 創(chuàng)建角色

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

創(chuàng)建角色

點(diǎn)擊Add Role

創(chuàng)建角色

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

用戶添加角色

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

選擇左側(cè)菜單項(xiàng)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 #聲明為一個(gè)公開的客戶端
  security-constraints:
    - auth-roles:
        - sk-role
      security-collections:
        - name: hello
          patterns:
            - '/hello/world'

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

4. 驗(yàn)證

啟動(dòng)SpringBoot項(xiàng)目,在瀏覽器輸入地址http://localhost:8139/hello/world,會(huì)重定向到keycloak登陸頁(yè)面,如下圖所示:

重定向到keycloak登陸頁(yè)

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

跳轉(zhuǎn)到訪問頁(yè)

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

相關(guān)文章

最新評(píng)論

汤阴县| 晴隆县| 千阳县| 淅川县| 拜城县| 海阳市| 临朐县| 南昌市| 衢州市| 太仓市| 博爱县| 柘荣县| 东光县| 吉木萨尔县| 嘉荫县| 涿州市| 金塔县| 格尔木市| 葫芦岛市| 东光县| 荆门市| 婺源县| 沿河| 深州市| 福泉市| 兴义市| 休宁县| 民勤县| 富民县| 大名县| 公安县| 长春市| 防城港市| 左权县| 茌平县| 三穗县| 浑源县| 咸阳市| 乐东| 惠东县| 堆龙德庆县|