ASP.NET多个登录页面,基于用户尝试访问的文件夹

时间:2010-07-15 14:57:23

标签: c# asp.net forms-authentication membership-provider

我在ASP.NET 3.5中开发了一个应用程序,它利用Membership和Roles Providers以及Forms Authentication来管理用户访问和配置文件。

此应用程序的各个区域仅供管理员用户使用,他们使用他们的电子邮件和密码登录,其余用户通过iPhone使用他们的电话号码和密码登录。

为了简单起见,我希望有两个不同的登录页面,一个为iPhone格式化,并为添加电话号码的用户执行正确的验证,另一个为应用程序管理员执行。

我想根据用户尝试访问的文件夹将用户重定向到各自的登录页面。例如,假设我有一个像这样的应用程序结构 -

/ Admin
/快递员 /客户
/无论什么 Default.aspx
iPhoneLogin.aspx
adminLogin.aspx
Web.config

我希望能够将访问www.myapp.com/的用户重定向到iPhoneLogin.aspx以及用户访问www.myapp.com/Admin到adminLogin.aspx

如果可能,有人可以通过网络配置建议一种方法吗?

如果没有,有没有人就如何做到这一点提出任何其他建议?

谢谢, 特里斯坦

1 个答案:

答案 0 :(得分:2)

当FormsAuthentication提供程序将用户重定向到web.config中指定的登录页面时,先前的URL将作为“ReturnUrl”查询字符串参数传递。我会将您的2个登录页面中的一个指定为主要页面,并将其指定为web.config中指定为登录页面的页面。在它的Page.Load上,检查ReturnUrl参数是否用于其他安全文件夹。如果是这样,请将用户重定向到其他登录页面。只要确保你也发送了ReturnUrl参数。