登録と同様に、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インターフェース開発マニュアルを確認してください) ) ログインできる場合は、アプリケーション サイトを更新します。ユーザーがログインできない場合は、パスワードが間違っていることをユーザーに通知します。ただし、アプリケーション サイトも同様です。より多くのコードが無駄になります。
もっと良い方法があれば、また更新してください! !
以上、ディスカスのご紹介でした!