0

すぐに使用できるAsp.Netメンバーシップ機能を使用して、ユーザー管理と役割管理を処理しています。

私のアプリケーションは、クライアントごとに1つのデータベースで構成されており、各データベースには独自のメンバーシッププロバイダーとロールプロバイダーがあります。

ただし、複数のクライアントで作業しているユーザーがいるため、シングルログインを使用して、表示するクライアントを選択できるようにしたいと考えています。すべてのユーザー名と、アクセスできるクライアントとの関係を格納する中間データベースを使用して、この「クライアントの切り替え」を容易にするためのすべての設定を行いました。また、あるデータベースのユーザーを更新すると、他のデータベースの対応するすべてのユーザーが更新されるように設定しました。ASP.Netに特定のMembershipProviderに変更してそのメンバーシッププロバイダーを使用するように指示する方法がわからないことを除いて、このロジックはすべて非常にうまく機能しています。

私が使用すべきだと思ったプロセスは次のとおりです(ユーザーがクライアントドロップダウンでクライアントを切り替えたとき):

  • 現在のユーザーをログアウトします
  • 使用するメンバーシッププロバイダーをASP.Netに通知します(ドロップダウンで選択したクライアントに基づいて選択します)
  • 選択したクライアントのメンバーシッププロバイダーを使用して現在のユーザーをログインし、ドロップダウンを変更したときに表示していたページに更新/リダイレクトします

特定のメンバーシッププロバイダー(Membership.Providers [MembershipProviderName])への参照を取得する方法は知っていますが、ASP.Netにメンバーシッププロバイダーを変更するように指示する方法に関する情報が見つかりません。asp.netログインコントロールがバックグラウンドでこれをどのように実行するのか、私にはよくわかりません。おそらく、これらすべてで役立つでしょう。

私はしばらくの間SOとWebを検索してきましたが、Web.configのProviders要素のDefaultProvider属性を変更しようとしているいくつかのスレッドを除いて、これを行うことについて多くを見つけることができないようです。

4

1 に答える 1

0

このMSDNチュートリアルが役立つ場合があります。

于 2012-04-20T17:44:05.310 に答える