1

ASP.NETメンバーシッププロバイダーを使用するasp.netweb-fromアプリケーションがあります。これに加えて、サブドメインにさらに別のフォーラムWebサイトがあります。ユーザーが自分のサイトに登録すると、フォーラムにも自動的に登録されるようにしたいと思います。別の言い方をすれば、ユーザーが私のサイトに登録すると、そのクレデンシャルを使用してフォーラムにログインすることもできます。

したがって、ユーザーが自分のサイトに登録するたびに、yaf_Userテーブルにもレコードを追加します。ただし、問題はyaf_Userにパスワードフィールドがありますが、YAFはそのフィールドにパスワードを保存しません。YAFがパスワードをどこに保存するのかわかりませんか?

4

4 に答える 4

2

YAF.NET は、ASP.NET メンバーシップ (およびロールとプロファイル) をマスターとして使用します。yaf_user テーブルは、自動的に更新されるフォーラム固有のスレーブです。そのテーブルのパスワード フィールドはレガシーであり、無視できます。YAF はもうパスワードを気にしません。ユーザーがログインしている場合、フォーラムは満足です。したがって、メンバーシップとフォーム認証チケットがメイン ドメインと YAF サブドメインの両方で一致している限り、問題は発生しません。

于 2010-12-30T02:17:09.783 に答える
2

より適切で簡単な解決策は、Web アプリケーションとフォーラムの両方に同じメンバーシップ プロバイダーを使用することです (メンバーシップ プロバイダーも使用していると思います)。アプリとフォーラムの両方で同じユーザー名が必要なので、同じユーザー データベースを使用しないのはなぜですか?

パスワードに関しては、デフォルトでは暗号化されており、平文ではありません。enablePasswordRetrievalweb.config でプロバイダーの設定を確認します。

両方のアプリの web.config で、ドメイン属性を最上位ドメインに設定します。

<authentication mode="Forms">
  <forms loginUrl="~/Account/Login.aspx" timeout="2880" domain="toplevel.com"  />
</authentication>

これにより、アプリまたはフォーラムのいずれかにログインすると、もう一方にも自動的にログインするようになります。

于 2010-12-28T21:33:29.090 に答える