asp.net:是否可以使用多个登录表单来访问不同的子文件夹?

时间:2010-03-18 15:01:14

标签: asp.net authentication

是否可以在asp.net应用程序中为不同的文件夹设置多个登录页面?说我有这个结构:

/admin    
/customer  
/login-admin.aspx  
/login-customer.aspx

我有2种不同的登录表单。一个用于管理员,一个用于客户(表单不同,因为客户需要在其登录页面上提供额外信息)。

在webconfig文件的身份验证部分(位于Web应用程序的根目录下),我只能指定一个登录页面。那么如何确保如果有人试图访问/admin中的网页,他们将被重定向到/login-admin.aspx,如果他们尝试访问/ customer中的网页,他们将被重定向到{{1} }?

谢谢,

安东尼

1 个答案:

答案 0 :(得分:1)

不幸的是,Forms Authentication只允许您指定一个登录页面。

虽然它不是世界上最优雅的解决方案,但登录页面可以查看Request.QueryString["RedirectUrl"]并使用它来确定向用户显示的内容:

if(Request.QueryString["RedirectUrl"].ToUpperInvariant().Contains("/ADMIN")) 
{
    // Show an admin user control or transfer to another page
}
else 
{
    // Do something else
}