1

仕様:

何が起こっていますか?

http://www.mysite.comというサイトがあり、そのサイトで YAF をセットアップしました。ユーザーがhttp://www.mysite.com/forumにアクセスすると、フォーラムに移動します。

私が欲しいものは?

ユーザーが自分のサイトにログインしたときに、ユーザーがhttp://www.mysite.com/forumにアクセスしたときに自動的にフォーラムにログインできるように、Cookie を作成したいと考えています。

私が何をした?

ユーザーが私のサイトに登録すると、YAF アカウントが作成されます (正常に動作します)。ユーザーがサイトにログインすると、それらを認証して Cookie を作成しますが、ユーザーがフォーラムに個別にログインする必要がないように、フォーラム用の Cookie も作成したいと考えています。

ユーザーのCookieを作成するには、これを行っています(YAFがログインしていることを検出するため):

    FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, userName, DateTime.Now, DateTime.Now.AddMinutes(30), true, "");
    var encryptedTicket = CookieHelper.EncryptTicket(ticket);
    var cookie = CookieHelper.CreateCookie(encryptedTicket, ".YAFNET_Authentication");
    cookie.Path = "/";
    cookie.HttpOnly = true;
    CookieHelper.AddCookie(cookie);

http://www.mysite.com/forumにアクセスしたときに認証されることを期待しています

誰か知恵の言葉はありますか?

- リッチ

4

1 に答える 1

2

どうでも...

解決策は次のとおりです。

同じ値を持つ両方の web.config にセクションを追加しました。これにより、メイン Web サイトは、YAF サイトが復号化できるログイン用の暗号化されたセッション キーを作成できます。これをセクション内に配置します。キーをランダムな 16 進数の 48 文字の独自の値に変更します (キーの生成にはロボフォームを使用しました)。

<machineKey validationKey="DBAEF98E532D4161826F8351C794DFD27C0F814262FD6986"
decryptionKey="DBAEF98E532D4161826F8351C794DFD27C0F814262FD6986"
validation="SHA1" decryption="AES" />

回答はこちら: YAF ユーザーにログイン

いつか他の誰かに役立つことを願っています。

于 2013-07-29T20:10:01.890 に答える