Asp.net 表单验证:我可以拥有多个loginUrl';s

Asp.net 表单验证:我可以拥有多个loginUrl';s,asp.net,forms-authentication,Asp.net,Forms Authentication,是否有任何方法可以将2个不同的日志URL用于ASP.net表单身份验证?如果可能,我想将一些用户发送到不同的登录页面。我试图在子目录中添加一个web.config(如下所示),但收到了以下错误:“在应用程序级别之外使用注册为allowDefinition='MachineToApplication'的节是错误的。” 我已经读了很多关于这方面的文章&我认为这是不可能实现的,或者至少是不容易实现的。有什么建议吗?我的网站需要有两个非常不同的登录过程,这就是为什么我要这样做 <!--app ro

是否有任何方法可以将2个不同的日志URL用于ASP.net表单身份验证?如果可能,我想将一些用户发送到不同的登录页面。我试图在子目录中添加一个web.config(如下所示),但收到了以下错误:“在应用程序级别之外使用注册为allowDefinition='MachineToApplication'的节是错误的。”

我已经读了很多关于这方面的文章&我认为这是不可能实现的,或者至少是不容易实现的。有什么建议吗?我的网站需要有两个非常不同的登录过程,这就是为什么我要这样做

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

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


如果您留下一个,说
并覆盖Login.aspx页面上的页面加载方法,该怎么办。检查querystring的returnURL参数,如果它包含NormalLogin,则将它们重定向到/NormalLogin/Login.aspx,否则重定向到SSOLogin/Login.aspx。

尝试清理项目以删除allowDefinition错误我尝试过,但问题是由于子目录中出现了标记。我怀疑答案是否定的,但如果你能准确地解释你想要达到的目标,你可能会得到更多的帮助。例如,一个登录URL可能会通过某种机制(例如cookie?)实现两个非常不同的进程,以传达您希望用于在两个进程之间进行选择的标准。我正在使用一个第三方SSO包,该包包括一个http模块,该模块截获指向loginURL中定义的URL的所有请求。对于NormalLogin,我希望设置一个不同的loginURL,http模块将忽略它,因为NormalLogin不是SSO,因此我不希望SSO包弄乱它们。但这似乎是不可能的。另一种方法是只编写我自己的SSO集成客户端来使用SSO包。我只是想在我走那条路之前,确保我完全了解我的选择。