【问题标题】:Running a website in a sub-folder using a separate web.config?使用单独的 web.config 在子文件夹中运行网站?
【发布时间】:2012-06-07 23:11:26
【问题描述】:

我想知道是否可以在子文件夹中运行 aspx.net 网站,如果它有自己的带有表单身份验证的 web.config 并使用角色管理器?

【问题讨论】:

    标签: asp.net web-config forms-authentication


    【解决方案1】:

    我最近为嵌套应用程序做了这个。难度不大。

    除了为凭证和角色数据访问相同的数据存储之外,您还需要:

    • 确保两个 Web 应用程序的 machineKeys 相同
    • 配置 loginUrl 以解析到相同的绝对路径
    • 如果您使用 cookie,则需要确保将域设置为两个 Web 应用程序都可用的值
    • 同样对于 cookie,如果您的 Web 应用程序嵌套在域中的不同级别,请确保将路径属性设置为“/”

    请参阅this blog post,了解有关使表单身份验证正常工作的更多详细信息。

    嵌套应用程序特有的另一个问题是,默认情况下,您的嵌套 web.config 将从父应用程序的 web.config 继承设置。这意味着您可能需要删除子配置中位于父配置中的某些项目,并删除当前位于子应用配置中但已存在于父配置中的项目。详情请参阅this

    【讨论】:

      【解决方案2】:

      仅当您将此子目录设置为与 iis 不同的 asp.net 应用程序时

      【讨论】:

        【解决方案3】:

        我认为如果您使用虚拟目录不会有任何问题。在这里查看更多信息:

        http://msdn.microsoft.com/en-us/library/zwk103ab(v=vs.80).aspx

        http://www.dotnetspider.com/tutorials/AspNet-Tutorial-86.aspx

        这是你要找的吗?

        【讨论】:

        • 我试过了,但是虚拟目录也继承了站点根 web.config,这很痛苦
        【解决方案4】:

        身份验证只能在所有应用程序的配置中设置,或者 Web 应用程序的根文件夹。设置会话相同。您可以使用子文件夹。但它必须是它自己的应用程序,所以基本上将它作为另一个应用程序的子文件夹并没有多大意义。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-12-03
          • 1970-01-01
          • 2021-05-17
          • 1970-01-01
          • 1970-01-01
          • 2013-08-19
          • 2018-08-28
          • 2018-12-17
          相关资源
          最近更新 更多