身份验证-当项目位于 FormsAuthentifications 下时,单个文件夹(页面)无身份验证

2024-03-19

我在 asp.net 2.0 上有一个带有命名空间 Admin 的 Web 应用程序。我的项目有表单身份验证模式。

    <authentication mode="Forms">
        <forms name="ASP_XML_Form" loginUrl="Login.aspx" protection="All" timeout="30"
               path="/" requireSSL="false" slidingExpiration="true"
               cookieless="AutoDetect">
        </forms>

    </authentication>

现在,我尝试为未经身份验证的用户共享一个文件夹(一个内页):

<location path="Recovery">
    <system.web>
        <roleManager enabled="false" >
        </roleManager>

        <authentication mode="None">
        </authentication>

        <authorization>
            <allow users="*" />
        </authorization>

        <httpHandlers>
            <remove verb="GET" path="image.aspx" />
            <remove verb="GET" path="css.aspx" />
        </httpHandlers>
    </system.web>
</location>

但是当我在共享文件夹内创建页面时,它无法访问程序集。 我看到这样的错误:

无法加载文件或程序集 “Admin”或其依赖项之一。 系统找不到该文件 指定的。

它还向我显示了错误:

ASP.NET 运行时错误:这是一个错误 使用注册为的部分 允许定义='机器到应用程序' 超出应用程序级别。这个错误 可能是虚拟目录引起的 未配置为应用程序 在 IIS 中。

有谁知道当项目处于 FormsAuthentication 下时如何共享(无身份验证)一个文件夹(页面)?


你应该只在你的<location>元素:

<location path="Recovery">
    <system.web>
        <authorization>
            <allow users="*" />
        </authorization>
    </system.web>
</location>

(如果您确实需要删除它们,您还可以包含 handlers 元素)。

非应用程序级别的 web.config 中不允许使用 Authentication 和 RoleManager 元素,因此您不能在<location>元素。

编辑回应评论

抱歉,澄清一下:您有too much在您的位置元素中 -<authentication> and <roleManager>元素那里不允许(除非 /Recovery 是 IIS 中的应用程序)并且肯定会导致您在问题中报告的第二个错误,需要删除这些错误才能使页面正确显示。

您是否到处都看到“找不到程序集”错误,或者只是在“恢复”文件夹的页面上看到“找不到程序集”错误?该文件夹是否在 IIS 中标记为“应用程序”?如果是这样,您需要将站点的二进制文件复制到 /Recovery 下的 /bin 文件夹中,或者删除 IIS 中该文件夹上的应用程序设置。

我刚刚意识到我在前两节中所说的“授权元素”实际上是指“身份验证元素”——如果混淆了,抱歉。

编辑回应第二条评论

基本上,在 IIS 中,您可以拥有一个或多个网站 - 这些是网站的根,并被定义为应用程序起始点。

IIS 还允许您将网站的子文件夹配置为应用程序,这允许您执行以下操作:

  • 更改仅允许在应用程序级别设置的配置设置
  • 在不同的内存空间中运行部分站点
  • 使用不同的用户帐户运行网站的一部分

但是,如果您确实将文件夹设为应用程序,则需要确保它所需的所有代码都是可访问的,并且当您启动新应用程序时,根 /bin (或 /app_code)文件夹中的代码不再是可访问的。可以通过该文件夹访问。

通常,在 IIS 管理器中,您将单击该文件夹并删除该应用程序,以便它从根继承。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

身份验证-当项目位于 FormsAuthentifications 下时,单个文件夹(页面)无身份验证 的相关文章

  • 当checked属性为false时,单选按钮默认被选中?

    我正在尝试生成单选按钮 有条件地检查检查的属性 如果该值存在于数据库中 则应选择它 否则检查的属性为 false 所以最初数据库中没有行 所有单选按钮的检查属性也为 false 但仍然在 UI 上选择 请参见下图 所以不知道这是默认行为还是
  • php 中的简单授权/登录功能

    我希望第一次实现用户登录到我的网站 我很高兴构建自己的解决方案 或者实现一些开源的东西 但是到目前为止 在我的搜索中没有任何包是明显的选择 同样 我完全意识到 作为一名中级 php 程序员 如果我推出自己的解决方案 并真正敞开大门 我很可能
  • 管理调试和发布连接字符串

    在 NET SQLServer 应用程序中管理调试和发布连接字符串的好方法是什么 我有两个 SQL Server 一个是生产服务器 一个是构建 调试服务器 我需要一种在部署 ASP NET 应用程序时在这两个服务器之间进行切换的方法 目前
  • Web 表单中的 IRouteHandler:路由需要 HttpContext.User 的请求

    我正在尝试向 Asp Net Web Forms 应用程序添加一个非常基本的路由 在 IIS 7 下运行 集成模式 http mydomain com foo http mydomain com foo 我想显示动态页面的结果 http m
  • 调试内存不足异常

    在修复我制作的小型 ASP NET C Web 应用程序的错误时 我遇到了 OutOfMemoryException 没有关于在哪里查看的提示 因为这是一个编译时错误 如何诊断此异常 我假设这正是内存分析发挥作用的地方 有小费吗 Thank
  • iPhone 应用程序在首次 Facebook Connect 授权/登录后崩溃

    我一直在到处寻找答案 但找不到 问题是 我有一个 iPhone 应用程序 在 AppStore 上 它使用脸书 iPhone SDK https github com facebook facebook iphone sdk 我使用 SDK
  • 如何使用 ASP.NET Web API 生成 ATOM 和 RSS2 提要?

    需要采取哪些步骤来调整 ASP NET Web API 的默认 XML 输出以生成 ATOM 和 RSS2 提要 您将需要实现自定义 MediaTypeFormatter 您可能想查看 Filip 的博客文章用于 ASP NET WebAP
  • 限制对记录的访问。基于声明的权限是个好主意吗

    在 net 基于声明的身份框架中 如果我想限制用户对某个帐户 特定帐户 123456 执行操作 查看或编辑 我说的是商业实体 例如银行帐户 创建索赔是个好主意吗对于他们可以查看或编辑的每个帐户 一组中有很多索赔有什么缺点吗 系统管理员可能有
  • 名称在当前上下文中不存在

    所以 我正在我的笔记本电脑和台式机之间完成这个项目 该项目在笔记本电脑上运行 但现在将更新的源代码复制到桌面上后 我的项目中有超过 500 个错误 所有这些错误都是 该名称在当前上下文中不存在 这是一个例子 职位 aspx
  • TortoiseSVN 不要求身份验证?

    我已经在conf文件中设置了一个新的SVN存储库 运行SVNServe anon access none SVNServe 忠实地正确地做到了这一点 但是当我尝试使用 TortoiseSVN 浏览存储库时 它只是说不允许访问 它不应该要求我
  • ASP.NET Core Serilog 未将属性推送到其自定义列

    我有这个设置appsettings json对于我的 Serilog 安装 Serilog MinimumLevel Information Enrich LogUserName Override Microsoft Critical Wr
  • oracle ExecuteNonQuery 在 ASP.Net 上冻结

    我正在尝试使用 ASP C 和 CLR 4 5 中的 Oracle 连接来运行非查询 这是我的代码 string connectionString ConfigurationManager ConnectionStrings OracleC
  • 如何在 C# 中将 ListView 与目录和文件绑定

    我想在 C 的 ListView 中绑定 C 驱动器中的所有目录和文件 我的代码是 protected void Page Load object sender EventArgs e DirectoryInfo di new Direct
  • 保护 ASP.NET 网站中 Elmah RSS 源的安全

    我遵循了这个问题的答案在 ASP NET 网站中保护 Elmah 的安全 https stackoverflow com questions 1245364 securing elmah in asp net website限制对 elma
  • ASP.NET:如何删除所有用户的所有会话变量?

    我们有 ASP NET 应用程序 想要删除所有用户的所有会话中的所有会话变量 我的意思是不要仅使用以下命令从当前会话中删除会话变量 Session Clear or Session Abandon 我们还需要清除其他用户会话中的会话变量吗
  • 计算 XML 中特定 XML 节点的数量

    请参阅此 XML
  • 尝试使用 VS 2012 打开我的 asp.net 4.5 MVC Web 应用程序时出错。Asp.net 尚未在服务器上注册

    我有一个Windows Server 2012 R2 Visual Studio 专业版 2012 现在我用来开发 ASP NET 4 5 MVC 4 Web 应用程序 没有任何问题 但现在当我尝试打开该项目时 我会收到此错误 如果我单击
  • ASP.net Gridview 分页在 UpdatePanel 中不起作用

    虽然类似的问题已经被问过很多次了 但问题仍然没有解决 这是问题 我有一个GridView它包含在选项卡容器中AJAX控件本身位于UpdatePanel Gridview工作得很好并且其相应的方法被准确地触发 但是当我启用paging 例如
  • Outlook 加载项,无法读取未定义的属性“BeginRequestEventArgs”

    我使用 Visual Studio 开发了 Outlook 插件 我的插件有一个按钮 用于填充会议邀请正文中的详细信息并添加所需的与会者 这在 99 的情况下都有效 但是 时不时地它会给我下面的 JavaScript 错误 Uncaught
  • 通过移动应用程序使用 Moodle 进行身份验证

    我的移动应用程序需要登录 Moodle 以从 Web 服务获取 Json 数据并使用 Angular 显示它 为此 我需要传入用户名和密码并取回 Moodle Web 服务令牌 因此我的应用程序不需要再次登录 至少在令牌过期之前 这是 提出

随机推荐