共有認証、メンバーシップ、およびDNNおよびASP.netアプリケーション全体のロール
-
06-07-2019 - |
質問
これが私の状況です。 DotNetNukeアプリケーションがあります。 DNN Webサイト内から既存のASP.net Webサイトにリンクしたいので、そのためにDNNのIFrameを使用することにしました。
既存のASP.netアプリケーションは、セキュリティのためにフォーム認証を使用します-承認されたユーザーのみがページにアクセスできます。このasp.netアプリケーションには、さまざまなページの承認のためのユーザーロールも必要です。
ユーザーが2回サインオンする必要はありません。asp.netページでDNNアプリケーションのユーザーメンバーシップとロールデータを使用したいのですが、独自のメンバーシップデータベースは必要ありません。
これは可能ですか? MSDN Webサイトによると:
" ASP.NETは、単一サーバー上のアプリケーション間またはWebファーム内の分散環境でのフォーム認証をサポートします。フォーム認証が複数のASP.NETアプリケーションで有効になっている場合、ユーザーはアプリケーションを切り替えるときに再認証する必要がありません。"
これは、asp.netアプリケーションにリンクするDotNetNukeアプリケーションに適用されますか?両方も同じドメインにあります。
(asp.netページのconfig.webを変更してDNN config.webで動作するようにし、マシンキーとフォーム設定を一致させました-動作しませんでした。追求して、可能かどうか知りたいです。)
ご協力ありがとうございます!
解決
あなたが話していることがDNN内で可能かどうかはわかりません。私たちはDNN 4.0を使用していますが、ASP.NETメンバーシップテーブルを使用すると、問題が発生する可能性があります。
説明できるのは別の方法です(ASP.NETアプリケーションを制御できると仮定します)。 MADAM (Mixed Authentication Disposition ASP.NET Modules-少し知っています)というプロジェクトがありますアプリケーションログオン用のフォーム認証以外の方法を提供するために使用できます。
できることは、ASP.NETアプリケーションでMADAMを設定し、DNNからASP.NETアプリケーションにユーザー資格情報を渡すことです。最終結果は、シングルサインオンとしてユーザーに表示されます。
何か詳しく説明する必要がある場合は、コメントでお知らせください。
他のヒント
実際には、dnnページにあるiframeモジュールにいくつかのaspxページを表示しています。現在、iFrame内では、同じサーバー上でホストされているaspxページを表示しています。 iFrame内にページをロードする前に、ログインしているdnnユーザーを認証したいだけです。
許可されていないユーザーへのアクセスを制限するために、他の場所でホストされているapsxページから呼び出すことができるAPIをdnnが提供します。