2

我正在使用 FormsAuthentication(带有 cookie)进行用户身份验证,使用默认的 cookie 名称(“.ASPXAUTH”)。

我需要的是“/Admin/”虚拟目录(由 ASP.NET MVC 控制器“AdminController”支持)的不同登录系统......好像“/Admin/”目录是另一个 Web 应用程序,但没有在我的解决方案中创建另一个 Web 项目。

如何在运行时自定义 FormsAuthentication 使用的 cookie 名称?FormsAuthentication.FormsCookieName 是只读的(并且是静态的......),并且只能在 web.config 中自定义一次......

我应该创建一个自定义 FormsAuthenticationModule 吗?

像下面这样的控制器过滤器可能很棒:

[CustomFormsAuthenticationCookie("NewCookieName")]
public class AdminController : Controller
{
4

1 回答 1

1

技巧是底层身份验证框架确实无法处理这个问题——你不能运行多个表单身份验证位。最简单的解决方案是将管理员位拆分为一个单独的网站,该网站最终将存在于其他地方,而不会被公共网站的身份验证所困扰。

于 2010-09-14T20:55:41.693 回答