목차
您可能感兴趣的文章
php教程 php手册 ucenter同步登陆机制

ucenter同步登陆机制

Jun 13, 2016 am 09:36 AM
동기식 로그인

做php开发的朋友大都知道有个ucenter可以用来实现多个站点同时登陆同时退出,用户同步的功能。下面作者将要就ucenter是如何实现同步登陆的和大家做一下分享。

首先站点都要引入一个uc_client这样一个客户端,以登陆为例,登陆时首先会调用一个外部函数,uc_client/client.php下的uc_user_login检查是否存在此用户,如果正确则继续执行登陆代码,检测此用户过程:通过用户是以什么方式连的uc(mysql还是http post)然后去相应地用不同函数来检测用户,检测完成后实现本地登陆,代码自己写,然后让其他应用程序也登陆,此时调用外部函数uc_user_synlogin,过程如下:

Uc_user_synlogin调用uc_api_post来实现是要做哪个模块,比如现在就是user模块,传的参数是user_id,具体这是怎么实现的没再仔细看,总之是将数据发送到uc_api即你的ucenter地址的index.php,同时附一些参数,根据这些参数然后再去读里面所有可通信的应用程序,让他们也实现登陆,这是其他程序的事儿了。

通知其他应用程序主要是通过ucenter,去向各应用程序下的api/uc.php发送一些数据,这些数据由uc.php接到请求然后去执行相应的登陆操作等。

这是我写的,基本上和他的一样,本想把具体到每个函数都写的可今天有点累了,呵呵,自己找吧还是很简单的。

1.从用户xxx在某一应用程序的login.php,输入用户名,密码讲起。先用uc_user_login函数到uc server验证此用户和密码,如正确,则写入session,写入cookies,并更新应用程序会员表中的登录ip,登录时间。用户感觉不到这个过程。

2.然后通过uc_user_synlogin通知uc server 用户xxx登录成功,这个过程可能使用ajax,用户感觉不到通知过程。

3.uc server收到这个消息后,马上命令手下,把xxx登录的消息,像令牌环一样,发给所有愿意接收(后台中那个是否开启同步登录)这个消息的其它应用程序。其实就是带参数访问一下各应用程序的uc.php,用户感觉不到这个过程。

4.各应用程序靠api下的uc.php来接收uc server发来的消息,并对uc server言听计从,让干什么就干什么。现在,收到让xxx用户在你的程序中登录的命令,马上执行。并写本应用程序的session,并且使用p3p, 写入相同域或不同域的cookies.  用户感觉不到这个过程。

5.最后所有和uc整合的程序,xxx均登录成功。用户从www.phpernote.com/bbs登录后, 跳到www.phpernote.com/同样显示登录。因为bbs 和news系统在后台均已登录。

6.应用程序与uc server的会话结束。

您可能感兴趣的文章

  • 如何去除dedeCMS后台登陆页面的广告
  • php Output Control 深入理解 ob_flush 和 flush 的区别
  • 网站上多种url都能访问同样的内容是件危险的事
  • http请求中同步请求和异步请求的区别
  • js setInterval和setTimeout用法分析
  • CuteFTP连接ftp服务器时弹出“遇到无效的参数”错误的解决办法
  • PHP中跳出多重循环使用break,continue,goto,return,exit的用法和区别
  • mysql中tinyint、smallint、int和bigint类型的用法区别
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 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

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

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PlayStation 네트워크 로그인에 실패했지만 인터넷 연결에 성공했습니다. PlayStation 네트워크 로그인에 실패했지만 인터넷 연결에 성공했습니다. Feb 19, 2024 pm 11:33 PM

일부 플레이어는 출시 시 PS4 또는 PS5에서 이상한 문제를 경험하고 있습니다. 예를 들어, PlayStation Network 로그인에 실패했지만 인터넷 연결은 양호할 때 문제가 발생할 수 있습니다. 로그인 정보를 입력할 때 오류가 발생할 수 있으며 PSParty 채팅에 참여하지 못할 수도 있습니다. 비슷한 문제가 발생하는 경우 이 가이드가 문제 해결에 도움이 될 수 있습니다. PlayStationNetworkSign-in 옆에 'AnErrorHaveAreAre'라는 오류 메시지가 표시되며 '실패'라고 표시됩니다. IP 주소 가져오기, 인터넷 연결 및 연결 속도와 같은 다른 매개변수는 성공적이었습니다. 그렇다면 여기서 무엇이 문제가 될 수 있습니까? 내가 너에게 일자리를 줄게

AADSTS7000112 수정, 애플리케이션이 비활성화됨 Microsoft 계정 로그인 오류 AADSTS7000112 수정, 애플리케이션이 비활성화됨 Microsoft 계정 로그인 오류 Feb 19, 2024 pm 06:27 PM

AADSTS7000112 오류로 인해 Microsoft 계정을 사용하여 앱에 로그인하지 못해 불편을 겪을 수 있습니다. 이 문서에서는 이 문제를 해결하고 정상적인 로그인 환경을 복원하는 데 도움이 되는 솔루션을 제공합니다. 로그인: 죄송합니다. 로그인하는 데 문제가 있습니다. AADSTS7000112: 애플리케이션이 비활성화되었습니다. 다행히도 몇 가지 간단한 제안 사항을 따르면 오류를 수정할 수 있습니다. 오류 코드 AADSTS7000112는 무엇입니까? 오류 코드 AADSTS7000112는 Microsoft의 Azure Active Directory 연결에 문제가 있음을 나타냅니다. 일반적으로 이는 로그인을 시도하는 Microsoft 애플리케이션이 차단되었기 때문일 수 있습니다.

win11에서 헤드폰과 스피커를 동시에 재생하는 문제 해결 win11에서 헤드폰과 스피커를 동시에 재생하는 문제 해결 Jan 06, 2024 am 08:50 AM

일반적으로 우리는 동시에 헤드폰이나 스피커 중 하나만 사용하면 됩니다. 그러나 일부 친구는 win11 시스템에서 헤드폰과 스피커가 동시에 들리는 문제가 발생했다고 보고했습니다. realtek 패널에서 끄면 괜찮을 것입니다. 아래를 살펴보겠습니다. win11에서 헤드폰과 스피커 소리가 함께 들리면 어떻게 해야 합니까? 1. 먼저 바탕 화면에서 "제어판"을 찾아 엽니다. 2. 제어판에 들어가서 "하드웨어 및 소리"를 찾아 엽니다. 스피커 아이콘이 있는 "Realtek High Definition"" 4. "스피커"를 선택하고 "후면 패널"을 클릭하여 스피커 설정으로 들어갑니다. 5. 열면 장치 유형이 표시됩니다. 헤드폰을 끄려면 "헤드폰"을 선택 취소하세요.

동기화한 폴더에 있는 하나 이상의 항목이 Outlook 오류와 일치하지 않습니다. 동기화한 폴더에 있는 하나 이상의 항목이 Outlook 오류와 일치하지 않습니다. Mar 18, 2024 am 09:46 AM

동기화 폴더에 있는 하나 이상의 항목이 Outlook의 오류 메시지와 일치하지 않는 경우 모임 항목을 업데이트하거나 취소했기 때문일 수 있습니다. 이 경우 로컬 버전의 데이터가 원격 복사본과 충돌한다는 오류 메시지가 표시됩니다. 이 상황은 일반적으로 Outlook 데스크톱 응용 프로그램에서 발생합니다. 동기화한 폴더에 있는 하나 이상의 항목이 일치하지 않습니다. 충돌을 해결하려면 프로젝트를 열고 작업을 다시 시도하십시오. 동기화된 폴더에 있는 하나 이상의 항목이 Outlook 오류와 일치하지 않는 문제 해결 Outlook 데스크톱 버전에서는 로컬 일정 항목이 서버 복사본과 충돌할 때 문제가 발생할 수 있습니다. 하지만 다행히도 도움을 줄 수 있는 몇 가지 간단한 방법이 있습니다.

기업 WeChat 이메일에 로그인하는 방법 기업 WeChat 이메일에 로그인하는 방법 Mar 10, 2024 pm 12:43 PM

Enterprise WeChat의 이메일 주소에 로그인하는 방법 Enterprise WeChat 앱에서 이메일 주소로 로그인할 수 있지만 대부분의 사용자는 이메일 주소로 로그인하는 방법을 모릅니다. 관심 있는 사용자를 위해 편집자가 가져온 Enterprise WeChat 이메일 주소로 로그인하세요. 기업용 WeChat 사용 튜토리얼 기업용 WeChat 이메일에 로그인하는 방법 1. 먼저 기업용 WeChat 앱을 열고 메인 페이지 하단의 [Workbench]로 이동한 후 클릭하여 특별 영역으로 이동합니다. 2. 그런 다음 Workbench에서; 해당 영역에서 [기업 메일함] 서비스를 선택합니다. 3. 그런 다음 기업 이메일 기능 페이지로 이동하여 하단의 [바인딩] 또는 [이메일 변경]을 클릭합니다. 4. 마지막으로 해당 페이지에서 [QQ 계정]과 [비밀번호]를 입력합니다. 아래에 표시된 이메일에 로그인하세요.

MySql 데이터 마이그레이션 및 동기화: 여러 서버 간에 MySQL 데이터 마이그레이션 및 동기화를 수행하는 방법 MySql 데이터 마이그레이션 및 동기화: 여러 서버 간에 MySQL 데이터 마이그레이션 및 동기화를 수행하는 방법 Jun 15, 2023 pm 07:48 PM

MySQL은 다양한 웹 애플리케이션, 엔터프라이즈 시스템 등에 널리 사용되는 매우 인기 있는 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 최신 비즈니스 애플리케이션 시나리오에서는 더 높은 가용성과 성능을 제공하기 위해 대부분의 MySQL 데이터베이스를 여러 서버에 배포해야 하며, 이를 위해서는 MySQL 데이터 마이그레이션 및 동기화가 필요합니다. 이 기사에서는 여러 서버 간의 MySQL 데이터 마이그레이션 및 동기화를 구현하는 방법을 소개합니다. 1. MySQL 데이터 마이그레이션 MySQL 데이터 마이그레이션은 MySQL 서버에서의 데이터 마이그레이션을 의미합니다.

GeForce Experience 로그인이 정지됨 [수정] GeForce Experience 로그인이 정지됨 [수정] Mar 19, 2024 pm 06:30 PM

이 문서에서는 Windows 11/10의 GeForceExperience 로그인 충돌 문제를 해결하는 방법을 안내합니다. 일반적으로 이는 불안정한 네트워크 연결, 손상된 DNS 캐시, 오래되거나 손상된 그래픽 카드 드라이버 등으로 인해 발생할 수 있습니다. GeForceExperience 로그인 블랙 스크린 수정 시작하기 전에 인터넷 연결과 컴퓨터를 다시 시작하세요. 때로는 문제가 일시적인 문제로 인해 발생하는 경우도 있습니다. NVIDIA GeForce Experience 로그인 검은색 화면 문제가 계속 발생하는 경우 다음 제안 사항을 따르십시오. 인터넷 연결을 확인하십시오. 다른 인터넷 연결로 전환하십시오.

Wegame에서 너무 자주 로그인하는 문제를 해결하는 방법은 무엇입니까? Wegame에서 너무 자주 로그인하는 문제를 해결하는 방법은 무엇입니까? Mar 14, 2024 pm 07:40 PM

Wegame은 Tencent 게임과 함께 사용되는 소프트웨어로, 게임을 시작하고 가속을 얻을 수 있습니다. 최근 많은 사용자가 이 메시지에 직면했을 때 로그인 작업이 너무 자주 발생한다는 메시지를 경험했습니다. 성공적으로 해결하셨나요? 이 소프트웨어 튜토리얼에서 이에 대해 함께 알아보겠습니다. Wegame 로그인 작업이 너무 자주 발생하면 어떻게 해야 하나요? 방법 1: 1. 먼저 네트워크 연결이 정상적인지 확인하세요. (브라우저를 열어 인터넷에 접속할 수 있는지 확인해 볼 수 있습니다.) 2. 네트워크 장애인 경우 라우터를 다시 시작하고 네트워크 케이블을 다시 연결한 후 컴퓨터를 다시 시작하여 문제를 해결해 보세요. 방법 2: 1. 네트워크에 문제가 없다면 &를 선택하세요.

See all articles