【问题标题】:Multiple formsauthentifications in the same application同一应用程序中的多个表单身份验证
【发布时间】:2009-12-30 21:51:09
【问题描述】:

我想知道是否可以使用具有以下目录结构的两种不同的formsauthentification登录:

/default.aspx
/login.aspx
/web.config
/子目录/sublogin.aspx
/子目录/subdefault.aspx
/子目录/web.config

根目录中的 web.config 包含以下设置:

<authentication mode="Forms">
  <forms  protection="All" slidingExpiration="true" loginUrl="~/login.aspx" path="/"/>
</authentication>
<authorization>
  <deny users="?"/>
</authorization>

我想要实现的是,除了“子目录”之外的所有目录都受根目录中的 login.aspx 保护。 ‘子目录’有自己的login.aspx(sublogin.aspx)

子目录中 web.config 的正确内容是什么样的?

【问题讨论】:

  • 您想要两次登录是否有原因?您可以使用一个登录表单并使用“位置”标签或其他表单来控制对子目录的访问吗?您是否希望用户为该子目录登录两次?
  • 我没有明确的用例。我被问到这个,回答说这是可能的,因为我认为我做了类似的事情。由于我找不到那段源代码,我开始编写一个测试应用程序并失败了;)

标签: asp.net login forms-authentication


【解决方案1】:

&lt;authentication&gt;web.config 部分只能在 machine.config 或应用程序的根 web.config 中定义。不能在应用程序的子文件夹中指定。

但是,您可以创建另一个恰好存在于另一个应用程序中的 ASP.NET 应用程序。然后每个人都可以有自己的身份验证设置。但是,在这种情况下,它们将是单独的应用程序,这可能会导致其他问题。

【讨论】:

  • 我不确定这是否完全正确。您能否引用您的参考资料,因为我无法在 MSDN 上验证这一点。
  • msdn.microsoft.com/en-us/library/532aee0e.aspx 上向下滚动到底部显示“可配置位置”并列出以下内容:Machine.config、根级 Web.config、应用程序级 Web.config。跨度>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-07-24
  • 1970-01-01
  • 2010-09-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多