2013-05-07 126 views
0

有什么办法可以使用2个不同的logUrl与ASP.net表单认证?如果可能,我想将一些用户发送到其他登录页面。我尝试在子目录中添加一个web.config(如下所示),但收到此错误:“在应用程序级别之外使用注册为allowDefinition ='MachineToApplication'的节是错误的。”表单身份验证:我可以拥有多个loginUrl吗?

我读过一些SO帖子&我在想这是无法实现的,或者至少不容易实现。有什么建议?我的网站需要有两个非常不同的登录过程,这就是我试图这样做的原因。

<!--app root--> 
<authentication mode="Forms"> 
    <forms loginUrl="/NormalLogin/Login.aspx" /> 
</authentication> 

<!--subdirectory--> 
<authentication mode="Forms"> 
    <forms loginUrl="/SSOLogin/Login.aspx" /> 
</authentication> 
+0

尝试清理项目以删除allowDefinition错误 – RelevantUsername 2013-05-07 14:13:07

+0

我试过了,但问题是由于标签出现在子目录中。 – 2013-05-07 14:25:52

+0

我怀疑答案是否定的,但如果你确切地解释你想达到的目标,你可能会得到更多的帮助。例如,单个登录URL可能可能实现两个完全不同的流程(如Cookie?)来传达您想要用于在两个流程之间进行选择的标准。 – Joe 2013-05-07 14:50:54

回答

2

如果你离开一个什么,说<forms loginUrl="/Login.aspx" />和覆盖的Login.aspx页面上的Page_Load方法。在那里检查querystring的returnURL参数,如果它包含NormalLogin,则将它们重定向到/NormalLogin/Login.aspx,否则将其重定向到SSOLogin/Login.aspx。

相关问题