FormsAuthentication:特定のサブディレクトル/MVCコントローラーに異なるCookie名を指定する方法は?
-
02-10-2019 - |
質問
ユーザー認証にFormSauthentication(Cookieを使用)を使用しており、デフォルトのCookie名( ".aspxauth")を使用しています。
必要なのは、「/admin/」Virtual Directory(ASP.NET MVCコントローラー、「admincontroller」に裏付けられている)の別のログインシステムです。私のソリューション内に別のWebプロジェクトを作成します。
formsauthenticationで使用されるCookie名を実行時にカスタマイズするにはどうすればよいですか? formsauthentication.formscookienameはreadonly(およびstatic ...)であり、web.config内で一度だけカスタマイズできます...
カスタムformsauthenticationModuleを作成する必要がありますか?
次のように、コントローラーフィルターは素晴らしいかもしれません:
[CustomFormsAuthenticationCookie("NewCookieName")]
public class AdminController : Controller
{
解決
Trickは、基礎となる認証フレームワークが実際にこれを処理できないことです。複数のフォーム認証ビットを実行することはできません。最も簡単な解決策は、管理者ビットを別のウェブサイトに分解することです。これは、他の場所に住み、パブリックサイトの認証に巻き込まれないことです。
所属していません StackOverflow