ASP.NET身份验证问题

时间:2010-11-12 17:13:22

标签: c# asp.net authentication

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

我的网站结构如下:

ROOT
   - CMS
     - AdminCms
     - web.conf*
   - FORUM
     - AdminForum
      - web.conf*
   - web.conf ***

现在在web.conf ***我用于CMS LOGIN PAGE

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

我的问题:

  • 如何为另一个文件夹设置另一个DEFAULT LOGIN PAGE? (如果用户使用例如FORUM)。
  • 可以插入web.conf *另一个

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

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

根据我之前的评论 - 表单身份验证允许在成功登录后将用户重定向到不同的页面。要启用此功能,表单身份验证会在ReturnUL请求参数中跟踪用户来自登录页面的原始页面。

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

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

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

修改:此处还有指向文章的链接 - Forms Authentication - Redirecting users to a Page other than Default.aspx

答案 1 :(得分:0)

如果您将文件夹,CMD和论坛标记为IIS中的应用程序,则可以轻松执行此操作,因为它们都将是一个单独的应用程序域。