찾다
일반적인 문제싱글 사인온(SSO)은 무엇을 의미하나요?

Single Sign-On SSO는 여러 응용 프로그램 시스템에서 사용자가 한 번만 로그인하면 상호 신뢰되는 모든 응용 프로그램 시스템에 액세스할 수 있음을 의미합니다. 이는 기업 비즈니스 통합을 위한 솔루션 중 하나입니다. 1. 사용자 효율성 향상; .개발자의 효율성을 향상시킵니다. 3. 관리를 단순화합니다.

싱글 사인온(SSO)은 무엇을 의미하나요?

회사 초창기에는 서버가 한 대뿐이었지만 점차 서버 수가 늘어나기 시작했습니다. 각 서버는 등록 및 로그인이 필요하며, 로그아웃 시에는 하나씩 로그아웃해야 합니다. 사용자 경험이 매우 나쁩니다! Douban에 가서 Douban FM, Douban Reading, Douban Movies, Douban Diary에 로그인하면 정말 사람들이 무너질 것이라고 상상할 수 있습니다. 우리는 또 다른 로그인 경험을 원합니다. 회사의 서비스에는 한 번의 등록, 로그인할 때 한 번의 로그인, 로그아웃할 때 한 번의 로그아웃만 필요합니다. 어떻게 하나요?

한번 등록해보세요. 한번 등록하는 것은 어렵지 않습니다. 단순히 서버 간 사용자 정보를 동기화하는 문제일까요? 네, 하지만 이 설명은 완전하지 않습니다. 나중에 사용자 등록에 관해 이야기할 때 자세히 설명하겠습니다. 사실 SSO의 진짜 어려움은 사용자 정보 관리입니다. 하지만 초보자인 우리의 어려움은 SSO를 구현하는 기술에 있습니다! 먼저 구현 수단에 대해 논의해 보겠습니다.

한 번의 로그인과 한 번의 로그아웃. 평범한 쇼핑몰의 이야기를 되돌아보면, 로그인을 유지하는 핵심은 무엇일까? 녹음기(세션)? 쿠키라고 불리는 그런 종이요? 종이에 적힌 ID는 세션에 기록되는 정보이며, 쿠키는 단순한 ID를 기록하는 도구가 아닙니다. 클라이언트는 ID를 보유하고 서버는 세션을 보유하며, 둘 다 로그인 상태를 유지하기 위해 함께 사용됩니다. 클라이언트는 ID를 자격증명으로 사용해야 하며, 서버는 세션을 사용하여 ID의 유효성을 확인해야 합니다(ID가 만료되었거나 전혀 위조되었을 수 있으며 해당 정보를 찾을 수 없으며 클라이언트가 해당 아직 로그인 인증 등을 수행하지 않은 ID입니다. 그러나 세션은 처음에는 각 서버마다 고유합니다. Douban FM에는 자체 세션이 있고 Douban Reading에는 자체 세션이 있으며 ID를 기록하는 쿠키는 도메인 간일 수 없습니다. 따라서 한 번 로그인하고 로그아웃하려면 클라이언트가 각 도메인 이름 아래에 이 ID를 보유할 수 있도록 각 서버가 동일한 세션 정보를 공유하도록 하는 방법만 찾으면 됩니다. 더 나아가 각 서버가 동일한 ID를 얻는 한 ID의 유효성을 확인하고 ID에 해당하는 사용자 정보를 얻을 수 있는 방법이 있습니다. 즉, ID를 확인할 수 있습니다.

Single sign-on; 구현 방법

서버 측

서버 그룹에서 ID를 생성하고 확인하는 방법에 따라 크게 두 가지 방법으로 나누어집니다.

"공유 쿠키"는 위에서 언급한 세션을 공유하는 방법이라고 생각합니다. 이는 "공유 세션"입니다. 본질적으로 쿠키는 세션 ID를 저장하기 위한 매체일 뿐이며 세션 ID는 각 요청의 URL에도 배치될 수 있습니다. 이 방법은 안전하지 않다고 해서 자세히 다루지 않았습니다. 혹시 관련 정보를 추천해주실 수 있나요? 나중에 추가하겠습니다. 사실 그렇습니다. 세션 메커니즘은 처음부터 각 세션마다 하나의 서버입니다. 세션을 꺼내서 모든 서버가 공유하도록 하는 것은 사실 조금 이상합니다.

SSO-토큰 방식 세션 공유 방식이 안전하지 않기 때문에 더 이상 세션 ID를 식별자로 사용하지 않습니다. 우리는 또 다른 식별자를 생성하고 이름을 SSO-Token(또는 티켓)으로 지정합니다. 이 식별자는 전체 서버 그룹에 고유하며 모든 서버 그룹은 토큰을 확인하고 토큰 뒤에 있는 사용자의 정보를 얻을 수 있습니다. 우리가 논의할 내용도 이와 같으며, 구체적인 흐름도는 나중에 보여드리겠습니다.

브라우저 측

Single Sign-On에는 매우 중요한 단계가 있습니다. 이 단계는 서버 측에서 토큰을 확인하는 방법과 관련이 없습니다. 가장 초기의 "공유 세션" 방법은 여전히 ​​현재의 "토큰"입니다. 모든 사용자는 다음 문제에 직면하게 됩니다. 사용자가 성공적으로 로그인하고 토큰(또는 세션 ID)을 얻은 후 브라우저는 이를 어떻게 다른 도메인 이름에 저장하고 공유할 수 있습니까? 동일한 도메인 이름은 매우 간단합니다. 쿠키에 토큰을 저장하고 모든 하위 도메인이 쿠키의 토큰을 읽을 수 있도록 쿠키 경로를 최상위 도메인 이름으로 설정합니다. 쿠키를 공유하는 방법입니다(이것을 공유 쿠키라고 하며, 위의 것을 공유 세션이라고 해야 합니다). 예: Google, google.com은 최상위 도메인 이름이고, 이메일 서비스의 경우 mail.google.com, 지도 서비스의 경우 map.google.com은 모두 하위 도메인입니다. 하지만 크로스 도메인이라면 어떻게 해야 할까요? Google에는 동영상 서비스를 제공하는 youtube.com이라는 도메인 이름도 있습니다.

추천 튜토리얼: "PHP"



위 내용은 싱글 사인온(SSO)은 무엇을 의미하나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

맨티스BT

맨티스BT

Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

mPDF

mPDF

mPDF는 UTF-8로 인코딩된 HTML에서 PDF 파일을 생성할 수 있는 PHP 라이브러리입니다. 원저자인 Ian Back은 자신의 웹 사이트에서 "즉시" PDF 파일을 출력하고 다양한 언어를 처리하기 위해 mPDF를 작성했습니다. HTML2FPDF와 같은 원본 스크립트보다 유니코드 글꼴을 사용할 때 속도가 느리고 더 큰 파일을 생성하지만 CSS 스타일 등을 지원하고 많은 개선 사항이 있습니다. RTL(아랍어, 히브리어), CJK(중국어, 일본어, 한국어)를 포함한 거의 모든 언어를 지원합니다. 중첩된 블록 수준 요소(예: P, DIV)를 지원합니다.