メインの WebApplication の下のフォルダーで、YetAnotherForum の最新バージョンを実行しています。サブフォルダーは IIS のアプリケーションとして構成されており、フォルダーへの移動とログインはうまく機能します。YAF はメンバーシップ プロバイダーでセットアップされ、フォーム認証を使用します。
私が今やろうとしているのは、ユーザーをメイン Web サイトからフォーラムに自動ログインさせることです。メイン Web サイトでは、セッションと Cookie によるカスタム認証を使用しています。組み込みの ASP.NET 認証またはメンバーシップ コンポーネントは使用しません。
基本的に私が実現したいのは、ユーザーがリンクをクリックしてフォーラムにアクセスすると、サブフォルダーに送信する前に YAF アプリケーションでユーザーを認証する処理ページにユーザーが送信されることです。
メイン アプリは組み込みの認証要素を使用しませんが、認証モードをフォームに設定し、その下のタグが YAF web.config のタグと一致することを確認しました。次に、処理ページで FormsAuthentication.SetAuthCookie(username, true) を呼び出してからリダイレクトします。しかし、とにかく YAF は私をログイン ページに戻します。ここからどこへ行くべきかわからない。
メインサイト: example.com/
web.config:
<authentication mode="Forms">
<forms name=".YAFNET_Authentication" protection="All" timeout="43200" cookieless="UseCookies" />
</authentication>
YAF は、example.com/yaf (IIS の個別の Web アプリケーション) です。
web.config
<authentication mode="Forms">
<forms name=".YAFNET_Authentication" protection="All" timeout="43200" cookieless="UseCookies" />
</authentication>
処理中のページ: (疑似) example.com/autoLogin.aspx.cs
public void AutLogin(){
string userName = doStuffToGetUsername();
YAFStuff.CreateUserIfNeeeded(userName);
FormsAuthentication.SetAuthCookie(userName, true);
Response.Redirect("/yaf/");
}