0

C#.net を使用して asp.net Web アプリケーションに取り組んでいます。アプリケーションで非常にうまく機能するフォーム認証を行いました。これで、管理者がアクセスするページを持つセクション管理フォルダーがもう 1 つあります。私の質問は、通常のユーザーが私のサイトに来ると、彼は user/login.aspx にアクセスし、そこで formauthentication.redirectFromloginpage(....) を実行しました。

管理セクションにアクセスする必要がある場合、管理者は admin/login.aspx にアクセスします。このセクションの内部ページにリダイレクトするだけで、フォーム認証は行われません。

管理者がシステムによって検証されている場合、フォーム認証を実装したいのですが、それは別のページになり、ログイン後にリダイレクトする必要があります。

私の質問は、私のシナリオで機能する 2 つの異なる loginURL または DefaultURL を作成する方法です。

または他の方法 (2 つの web.config を使用している可能性があります????)

4

1 に答える 1

1

別個の admin/login.aspx は実際には必要ありません。

通常のユーザーと管理者に同じログイン ページを使用できます。役割を使用して、管理者と通常のユーザーを分離するだけです。また、管理者の役割を持たないユーザーの管理ページへのアクセスを拒否すれば、準備は完了です。

更新: 別のページにリダイレクトする場合は、ログイン コントロールの LogggedIn イベントを使用します。

 If ( Roles.IsUserInRole(User.Identity.Name, "Admin"))  
 {
    Response.redirect(....);

 }
于 2011-10-19T09:26:20.930 に答える