ホームページ  >  記事  >  バックエンド開発  >  X3.2 フォーラムのパスワード変更が UCenter と同期されない

X3.2 フォーラムのパスワード変更が UCenter と同期されない

WBOY
WBOYオリジナル
2016-08-08 09:31:471104ブラウズ

登録と同様に、Discuz のパスワード変更は一方向の変更であり、他のアプリケーション サイトに積極的に通知することはありません。この機能を実現するには、UCenter のメカニズムを変更するだけです:

変更 1: UC バックグラウンドでのパスワード変更後の通知プログラム: ホーム ディレクトリ/uc_server/control/admin/user.php 行 277
は、 :
$_ENV ['note']->add('updatepw', 'username='.urlencode($username).'&password=');
次のように変更します:
$_ENV['note']-> add('updatepw ', 'username='.urlencode($username).'&password='.$orgpassword);


変更 2: UC Notifier: Home Directory/uc_server/control/user.php 行 99
:
$_ENV ['note']->add('updatepw', 'username='.urlencode($username).'&password=');
次のように変更します:
$_ENV['note']->add ('updatepw ', 'username='.urlencode($username).'&password='.$newpw);


変更 3: メインディレクトリ/uc_client/control/user.php 99 行目
will:

$_ENV [' note']->add('updatepw', 'username='.urlencode($username).'&password=');

次のように変更します:

$_ENV['note']->add (' updatepw', 'username='.urlencode($username).'&password='.$newpw);

上記の変更により、discuz は UCenter を同期できるようになりますが、他のアプリケーション サイトに通知することはできません。フォーラムでパスワードを変更する 最後に、サイトでも使用できる場合は、アプリケーション サイトのログイン メカニズムを変更する必要があります。

私が一時的に使用する方法は、アプリケーションサイトにログインするときに、まずアカウントとパスワードを使用してフォーラムにログインできるかどうかを確認します(uc_user_loginメソッドを実装できます。詳細については、UCenterインターフェース開発マニュアルを確認してください) ) ログインできる場合は、アプリケーション サイトを更新します。ユーザーがログインできない場合は、パスワードが間違っていることをユーザーに通知します。ただし、アプリケーション サイトも同様です。より多くのコードが無駄になります。

もっと良い方法があれば、また更新してください! !

以上、ディスカスのご紹介でした!

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。