0

Sql プロバイダーでフォーム認証を使用する既存の Web サイトがあります。現在、別の Web サイトと統合して、その認証メカニズムを使用しようとしています。私はすでにユーザーを検証できており、ユーザーをサイレント モードでアプリケーションにログインさせようとしています。「サイレント」ログインのコードは次のとおりです。

if (user != null) // logged in!
{
    IPrincipal principal = new MyPrincipal(user);
    FormsAuthentication.SetAuthCookie(user.ScreenName, true);

    HttpContext.Current.User = principal;

    Response.Redirect("~/Default.aspx");
}

HttpContext.Current.Userそして、フォーム認証が「default.aspx」にするまでにオーバーライドするという例外を除いて機能します。フォームの役割とメンバーシップ プロバイダーをバイパスする方法はありますか?

4

1 に答える 1

2

カスタム プリンシパルを使用している場合は、Web サーバーへのすべての要求でカスタム プリンシパルを確立する必要があります。永続化されていません。global.asax にリロードするコードを追加すると解決します。これを行うための HTTP モジュールを作成した人もいます。

HTH。

于 2010-12-21T17:20:41.137 に答える