日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

1. 概述

1.1. 什么是SSO?

單點(diǎn)登錄( Single Sign-On , 簡(jiǎn)稱 SSO )是目前比較流行的服務(wù)于企業(yè)業(yè)務(wù)整合的解決方案之一, SSO 使得在多個(gè)應(yīng)用系統(tǒng)中,用戶只需要 登錄一次 就可以訪問(wèn)所有相互信任的應(yīng)用系統(tǒng)。

1.2. 什么是CAS?

隨著SSO技術(shù)的流行,相關(guān)產(chǎn)品也比較多,其中CAS就是一套解決方案,CAS(Central Authentication Service)中文翻譯為統(tǒng)一身份認(rèn)證服務(wù)或中央身份服務(wù),它由服務(wù)端和客戶端組成,實(shí)現(xiàn)SSO,并且容易進(jìn)行企業(yè)應(yīng)用的集成。

CAS是Yale大學(xué)(耶魯)發(fā)起的一個(gè)開源項(xiàng)目,旨在為web應(yīng)用系統(tǒng)提供一種可靠的單點(diǎn)登錄方法,CAS在2004年12月正式成為JA-SIG的一個(gè)項(xiàng)目。

官網(wǎng):
https://www.apereo.org/projects/cas

 

CAS具有以下的特點(diǎn):

【1】 開源的企業(yè)級(jí)單點(diǎn)登錄解決方案

【2】 CAS Server為需要獨(dú)立部署的web應(yīng)用

【3】 CAS Client支持非常多的客戶端(這里指單點(diǎn)登錄系統(tǒng)中的各個(gè)web應(yīng)用),包括 JAVA 、 .Net 、 ISAPI 、 php 、 Perl 、 uPortal 、 Acegi 、 Ruby 、 VBScript 等客戶端

有了CAS,我們的系統(tǒng)架構(gòu)就演變成下面這樣的:

 

從架構(gòu)上可以看出,CAS包含兩個(gè)部分:CAS Server和CAS Client.

CAS Server需要獨(dú)立部署,主要負(fù)責(zé)對(duì)用戶的認(rèn)證工作,CAS Client負(fù)責(zé)處理

對(duì)客戶端受保護(hù)資源的訪問(wèn)請(qǐng)求,需要登錄,重定向到CAS Server。

下面,我們一步步搭建CAS實(shí)現(xiàn)SSO.

1.3. 開發(fā)環(huán)境要求

Jdk1.8+ maven3.6 idea Tomcat9.0+ windows10

2. CAS Server服務(wù)器端

2.1. CAS服務(wù)器端軟件包下載

下載版本為5.3

下載服務(wù)器的overlay地址:

https://github.com/apereo/cas-overlay-template/tree/5.3

壓縮包:
cas-overlay-template-5.3.zip

解壓好后用命令:build.cmd package

然后用編譯的目錄查看war包:

 

2.2. 服務(wù)器端的基本部署和測(cè)試

將war包放到tomcat的webApp中,然后啟動(dòng)tomcat

訪問(wèn)地址:http://localhost:8080/cas 或者
http://localhost:8080/cas/login

 

默認(rèn)用戶名和密碼在webappscasWEB-INFclassesapplication.properties里面

用戶名:casuser 密碼:Mellon

 

CAS服務(wù)端啟動(dòng)成功

2.3. CAS Server服務(wù)器配置

2.3.1 去除https認(rèn)證

CAS默認(rèn)使用的是HTTPS協(xié)議,如果使用HTTPS協(xié)議需要SSL安全證書(需向特定的機(jī)構(gòu)申請(qǐng)和購(gòu)買)。如果對(duì)安全要求不高或是在開發(fā)測(cè)試階段,可使用HTTP協(xié)議。我們這里講解通過(guò)修改配置,讓CAS使用HTTP協(xié)議。

修改CAS服務(wù)端配置文件:

casWEB-INFclasses application.properties里添加如下內(nèi)容:

cas.tgc.secure=false

cas.serviceRegistry.initFromJson=true

casWEB-INFclassesservices目錄下的


HTTPSandIMAPS-10000001.json修改內(nèi)容如下:

修改內(nèi)容如下,即添加http

"serviceId" : "^(https|http|imaps)://.*"

3. CAS Client客戶端配置(自己項(xiàng)目)

n Pom文件的依賴即pom.xml

<dependency>

<groupId>net.unicon.cas</groupId>

<artifactId>cas-client-autoconfig-support</artifactId>

<version>2.1.0-GA</version>

</dependency>

 

n 客戶端1

application.yml配置文件

客戶端1

server:

port: 9010

cas:

server-url-prefix: http://localhost:8080/cas

server-login-url: http://localhost:8080/cas/login

client-host-url: http://localhost:9010

validation-type: cas3

注:?jiǎn)?dòng)類追加開啟CAS的注解@EnableCasClient

項(xiàng)目中新建一個(gè)測(cè)試類

iimport io.swagger.annotations.Api;

import org.springframework.web.bind.annotation.GetMapping;

import org.springframework.web.bind.annotation.RestController;

  

  @RestController

@Api(description = "SSO-CAS的測(cè)試")

  public class TestController {

  

    @GetMapping("/test1")

    public String test1(){

        return "test1....";

    }

}

 

n 客戶端2

server:

port: 9011

cas:

server-url-prefix: http://localhost:8080/cas

server-login-url: http://localhost:8080/cas/login

client-host-url: http://localhost:9011

validation-type: cas3

注:?jiǎn)?dòng)類追加開啟CAS的注解@EnableCasClient

項(xiàng)目中新建一個(gè)測(cè)試類

import io.swagger.annotations.Api;

import org.springframework.web.bind.annotation.GetMapping;

import org.springframework.web.bind.annotation.RestController;

  

  @RestController

@Api(description = "SSO-CAS的測(cè)試")

  public class TestController {

  

    @GetMapping("/test2")

    public String test1(){

        return "test2....";

    }

}

客戶端1,客戶端2和cas服務(wù)器搭建好之后,接下來(lái)我們進(jìn)行測(cè)試:

1. 首先啟動(dòng)tomcat服務(wù)器中的CAS Server。

2. 分別啟動(dòng)客戶端1和客戶端2,然后在瀏覽器地址欄輸入客戶端1的地址

http://localhost:9010/test1

 

在不登錄的狀態(tài),在瀏覽器的地址欄繼續(xù)輸入客戶端2的地址:

http://localhost:9011/test2

 

當(dāng)我們?cè)谄渲幸粋€(gè)登錄界面登錄賬號(hào)后(假設(shè)登錄客戶端2)就會(huì)跳轉(zhuǎn)到登陸后的界面,如下圖:

 

我們?cè)俅卧跒g覽器窗口重新輸入客戶端1,
http://localhost:9010/test1,或者在剛剛輸入客戶端頁(yè)面重新刷新,不用登錄即可進(jìn)入頁(yè)面,如下圖:

 

以上就是單點(diǎn)登錄的測(cè)試。

分享到:
標(biāo)簽:SSO
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定