私たちは、さまざまなシステム (ほとんどすべてが DNN システムではありません) 間で認証と承認を処理するために、シングル サインオン システムをセットアップしています。
アイデアは、認証トークンを使用してユーザーを DotNetNuke システムにリダイレクトする中央認証システムによって、ユーザーにリンクが提供されるというものです。次に、その認証トークンを取得し、それが正当であることを確認し、正当である場合はそのユーザーを DNN にログインさせる必要があります。このワークフローの問題は、ユーザーのパスワードがわからないことです。
以前は、カスタム ログイン インターフェイスを作成したときに、次のように呼び出してユーザーをログインさせていました。
var portalSettings = PortalSettings.Current;
UserController.UserLogin(portalSettings.PortalId, username, password, string.Empty, portalSettings.PortalName, ip, ref loginStatus, true);
DNN/Asp.net フォーム認証システムのパスワードがわからない場合、これは明らかに機能しません。
これは新しいシステムではなく、SSO を使用せずに現在運用されているシステムであるため、全員のパスワードを「pass1234」に設定して、SSO 方式のみでログインするように要求することはできません。
正確なパスワードを知らなくてもユーザーとしてログインするように DotNetNuke に指示するにはどうすればよいですか?