2011-07-25 15 views
0

私は、複数のアプリケーション(Webサイト、WS、iPhoneアプリケーションなど)間のすべてのメンバーシップ操作(ユーザー作成、ログイン、パスワード変更など)を共有するWCFサービスを作成しています。 )、ASP.NETメンバーシッププロバイダを使用します。ASP.NETメンバーシッププロバイダ:動的にアプリケーション名を設定する

リクエストを送信しているアプリケーションに関する情報も保存します。

Membershioプロバイダのアプリケーション の名前を動的に設定してこの情報をメンバーシップテーブルに保存するのが理にかなっているのでしょうか?プロバイダがシングルトンであるので、それはのようになります。

System.Web.Security.Membership.ApplicationName = application; 
bool isValid = System.Web.Security.Membership.ValidateUser(username, password); 

それは実際に動作しますが、これは適切な使用であり、それが将来の任意の問題を引き起こすことができるかどうかどうかを知りません。通常、私が知る限り、アプリケーション名はWeb.configから来ています(ただし、私のシナリオでは常にWCFと同じです)、このプロパティが動的に設定されている例は見ていません。

別のオプションとして、この情報を別のテーブルに保存し、アプリケーション名を静的にweb.configから取得することもできます。

ご提案は大歓迎です!

答えて

1

これは、メンバーシップ・プロバイダーのアプリケーション名とは異なります。

複数のアプリケーション間でユーザーアカウントを共有するとします。この場合、メンバーシップアプリケーション名はすべてのアプリケーションで同じでなければなりません。

複数のアプリケーションが同じデータベースを共有しながらユーザーを隔離できるようにするためのアプリ名があります.app1のアプリケーションで構成されたWebサイトは、同じ物理的メンバーシップを共有していてもapp2のアプリケーションとユーザーを共有しません。データベース。

他の場所にログオンしてください!

+0

これは絶対に意味があります。私はちょうどなぜ彼らがApplicationNameプロパティを読み書きだけでなく読み込ませたのか不思議です。 – matteo75

関連する問題