我在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
如果可能,有人可以通过网络配置建议一种方法吗?
如果没有,有没有人就如何做到这一点提出任何其他建议?
谢谢, 特里斯坦
答案 0 :(得分:2)
当FormsAuthentication提供程序将用户重定向到web.config中指定的登录页面时,先前的URL将作为“ReturnUrl”查询字符串参数传递。我会将您的2个登录页面中的一个指定为主要页面,并将其指定为web.config中指定为登录页面的页面。在它的Page.Load上,检查ReturnUrl参数是否用于其他安全文件夹。如果是这样,请将用户重定向到其他登录页面。只要确保你也发送了ReturnUrl参数。