C# ASP.NET身份验证问题

C# ASP.NET身份验证问题,c#,asp.net,authentication,C#,Asp.net,Authentication,我使用ASP.NET和ASP.NET身份验证 我有一个结构如下的网站: ROOT - CMS - AdminCms - web.conf* - FORUM - AdminForum - web.conf* - web.conf *** 现在在web.conf***我使用CMS登录页面 <authentication mode="Forms"> <forms loginUrl="~/Cms/AdminCms/Log

我使用ASP.NET和ASP.NET身份验证

我有一个结构如下的网站:

ROOT
   - CMS
     - AdminCms
     - web.conf*
   - FORUM
     - AdminForum
      - web.conf*
   - web.conf ***
现在在
web.conf***
我使用CMS登录页面

<authentication mode="Forms">
  <forms loginUrl="~/Cms/AdminCms/Login.aspx" timeout="2880" />
</authentication>

我的问题是:

  • 如何为另一个文件夹创建另一个默认登录页?(如果用户使用例如论坛)
  • 可以在web.conf*中插入另一个


有什么想法吗?

如果你在IIS中将文件夹、CMD和论坛都标记为应用程序,你可以很容易地做到这一点,因为它们都是一个单独的应用程序域。

根据我之前的评论,表单身份验证允许用户在成功登录后重定向到不同的页面。为了实现这一点,表单身份验证将跟踪用户从ReturnUL请求参数到登录页面的原始页面

在您的情况下,您可以在成功登录后在登录页面的代码隐藏中执行以下操作:

string originalTarget = Request.Params["ReturnUrl"];

if(originalTarget  != null)
{
   if(originalTarget.Contains(@"/FORUM/")
      Response.Redirect(someForumURL);
   else
      Response.Redirect(someCMSURL);
}

编辑:这里还有一篇文章的链接-

为什么需要两个单独的登录页面?您可以在成功登录后重定向到正确的页面(CMS或论坛),具体取决于用户来自何处。是的,听起来不错。怎么做?你能给我发个例子链接吗?谢谢谢谢,这正是我需要的。谢谢你的帮助,再见
string originalTarget = Request.Params["ReturnUrl"];

if(originalTarget  != null)
{
   if(originalTarget.Contains(@"/FORUM/")
      Response.Redirect(someForumURL);
   else
      Response.Redirect(someCMSURL);
}