springboot tập thành cas khách hộ đoan

3 thiên văn chương 0 đính duyệt

Background

  • Đan điểm đăng lục SSO(Single Sign ON), chỉ tại đa cá ứng dụng hệ thống trung, chỉ nhu đăng lục nhất thứ, tức khả tại đa cá ứng dụng hệ thống chi gian cộng hưởng đăng lục.
  • Thống nhất thân phân nhận chứng CAS( Central Authentication Service ) thị SSO đích khai nguyên thật hiện, lợi dụng CAS thật hiện SSO khả dĩ ngận đại trình độ đích hàng đê khai phát hòa duy hộ đích thành bổn.
  • CAS do CAS Server hòa CAS Client lưỡng bộ phân tổ thành.
  • CAS tam cá trọng yếu thuật ngữ: TGT ( Ticket Granting Ticket ), TGC ( Ticket Granting Cookie ) hòa ST ( Service Ticket ).

在这里插入图片描述

1, sở dụng nhuyễn kiện bản bổn

Nhuyễn kiện danh xưngBản bổn
jdk1.8.0_202
maven3.6.3
cas5.3.16

CAS hạng mục thác quản tại Github thượng, khắc long hoặc giả hạ tái nguyên mã, tiến hành biên dịch dĩ hậu tức khả an trang. Đãn thị đối vu nhất bàn dụng hộ lai thuyết, quan phương kiến nghị đích an trang phương thức thị sử dụng WAR Overlay phương pháp lai an trang biên dịch hảo đích war bao. WAR Overlay thị nhất chủng đối kháng trọng phục tính đích đại mã hòa tư nguyên đích sách lược. Tha hội hạ tái nhất cá do hạng mục bổn thân đề cung đích dự cấu kiến đích phổ thông CAS Web ứng dụng trình tự phục vụ khí, nhi bất thị hạ tái CAS đại mã khố tịnh tòng nguyên đại mã khai thủy cấu kiến. WAR Overlay tại cấu kiến thời, cấu kiến an trang công cụ thủ tiên hội thường thí hạ tái quan phương đề cung đích nhị tiến chế an trang bao. Nhiên hậu, cai công cụ tương tra trảo tại đồng nhất hạng mục mục lục trung khả dụng đích phối trí văn kiện hòa thiết trí, tịnh tương tha môn hợp tịnh đáo hạ tái đích công kiện trung, dĩ sinh thành nhất cá hoàn chỉnh đích Web tồn đương (cas.war).

2, cas-server an trang

  • Sinh thành đíchcas.warBao tại target mục lục hạ
  • Phóng vấn địa chỉ:https://localhost:8443/cas(localhost hoán thành cas sở tại đích phục vụ khí IP)
  • Mặc nhận dụng hộ danh mật mã:casuser=Mellon
gitclone-b5.3https://github.com/apereo/cas-overlay-template.git
mvn clean compile package
java-jartarget/cas.war

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

Giá dạng, trung ương thân phân nhận chứng phục vụ tựu an trang hảo liễu!

3, springboot tập thành cas-client

  • maven y lại
<dependency>
<groupId>net.unicon.cas</groupId>
<artifactId>cas-client-autoconfig-support</artifactId>
<version>2.3.0-GA</version>
</dependency>
  • yml phối trí
server:
port:8888
servlet:
context-path:/sso-client
cas:
# hậu đoan phục vụ địa chỉ
client-host-url:http://127.0.0.1:8888
#cas nhận chứng trung tâm địa chỉ
server-url-prefix:https://monkey:8443/cas
#cas nhận chứng trung tâm đăng lục địa chỉ
server-login-url:https://monkey:8443/cas/login
validation-type:cas
  • Khải động loại gia thượng@EnableCasClientKhải dụng CAS
    在这里插入图片描述
  • Thối xuất kỳ lệ
packagecas.client.sso.controller;

importlombok.extern.slf4j.Slf4j;
importorg.jasig.cas.client.authentication.AttributePrincipal;
importorg.jasig.cas.client.util.AbstractCasFilter;
importorg.jasig.cas.client.validation.Assertion;
importorg.springframework.beans.factory.annotation.Value;
importorg.springframework.stereotype.Controller;
importorg.springframework.web.bind.annotation.GetMapping;
importorg.springframework.web.bind.annotation.RequestMapping;
importorg.springframework.web.bind.annotation.ResponseBody;

importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpSession;

/**
* @ClassName: TestController
* @Description: TestController
* @Author W
* @Date 2020/12/23 17:32
* @Version 1.0
*/
@Slf4j
@Controller
publicclassTestController{

@Value(value="${cas.server-url-prefix}")
privateStringserverUrlPrefix="";

@Value(value="${cas.client-host-url}")
privateStringclientHostUrl="";

// /sso-client/hello
@GetMapping("/hello")
@ResponseBody
publicStringhello(){
return"word";
}

@GetMapping("user")
@ResponseBody
publicStringuser(HttpServletRequestrequest){
Assertionassertion=(Assertion)request.getSession().getAttribute(AbstractCasFilter.CONST_CAS_ASSERTION);
StringloginName=null;
if(assertion!=null){
AttributePrincipalprincipal=assertion.getPrincipal();
loginName=principal.getName();
log.info("Phóng vấn giả: {}",loginName);
}
return"Phóng vấn giả:"+loginName;
}

@RequestMapping("/logout")
publicStringlogout(HttpSessionsession){
session.invalidate();
return"redirect:"+serverUrlPrefix+"/logout?service="+clientHostUrl+"/sso-client/user";
}
}
  • Phóng vấn:http://127.0.0.1:8888/sso-client/helloNgộ đáo vấn đềVị nhận chứng thụ quyền đích phục vụ
    在这里插入图片描述
  • Giải quyết phương án

【 đệ nhất bộ 】 trực tiếpvim cas.jarTu cảicas.jar/WEB-INF/classes/services/HTTPSandIMAPS-10000001.json
Nguyên lai đích tiệt đồ như hạ:
图片2

Cải thành như hạ sở kỳ (serviceIdTrung thiêm gia liễuhttp):

{
"@class":"org.apereo.cas.services.RegexRegisteredService",
"serviceId":"^(https|http|imaps)://.*",
"name":"wlf-test",
"id":10000001,
"description":"This service definition authorizes all application urls that support HTTPS and IMAPS protocols.",
"evaluationOrder":10000
}

【 đệ nhị bộ 】 tu cải/etc/cas/config/cas.propertiesThiêm gia như hạ nhất hành:

# khải dụng gia tái JSON phối trí văn kiện
cas.serviceRegistry.initFromJson=true

图片3

Trọng khải cas khách hộ đoan hòa phục vụ đoan khôi phục chính thường
在这里插入图片描述

图片3

  • 20
    Điểm tán
  • Thải
  • 21
    Thu tàng
    Giác đắc hoàn bất thác? Nhất kiện thu tàng
  • 打赏
    Đả thưởng
  • 0
    Bình luận
Bình luận
Thiêm gia hồng bao

Thỉnh điền tả hồng bao chúc phúc ngữ hoặc tiêu đề

Hồng bao cá sổ tối tiểu vi 10 cá

Nguyên

Hồng bao kim ngạch tối đê 5 nguyên

Đương tiền dư ngạch3.43Nguyên Tiền vãng sung trị >
Nhu chi phó:10.00Nguyên
Thành tựu nhất ức kỹ thuật nhân!
Lĩnh thủ hậu nhĩ hội tự động thành vi bác chủ hòa hồng bao chủ đích phấn ti Quy tắc
hope_wisdom
Phát xuất đích hồng bao

Đả thưởng tác giả

WaiSaa

Nhĩ đích cổ lệ tương thị ngã sang tác đích tối đại động lực

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
Tảo mã chi phó:¥1
Hoạch thủ trung
Tảo mã chi phó

Nâm đích dư ngạch bất túc, thỉnh canh hoán tảo mã chi phó hoặcSung trị

Đả thưởng tác giả

Thật phóNguyên
Sử dụng dư ngạch chi phó
Điểm kích trọng tân hoạch thủ
Tảo mã chi phó
Tiền bao dư ngạch 0

Để khấu thuyết minh:

1. Dư ngạch thị tiền bao sung trị đích hư nghĩ hóa tệ, án chiếu 1:1 đích bỉ lệ tiến hành chi phó kim ngạch đích để khấu.
2. Dư ngạch vô pháp trực tiếp cấu mãi hạ tái, khả dĩ cấu mãi VIP, phó phí chuyên lan cập khóa trình.

Dư ngạch sung trị