【问题标题】:Configure ASP.NET application to use two authentication methods?将 ASP.NET 应用程序配置为使用两种身份验证方法?
【发布时间】:2010-12-20 17:07:32
【问题描述】:

我是 ASP.NET 开发的新手,而且我只是扩展一个我没有创建的现有应用程序。

我有一个有效的 ASP.NET 应用程序,它在其所有页面中都使用“表单身份验证”。我在子文件夹“webservices\Dummy.asmx”中添加了一个新的 web 服务。此 Web 服务工作正常,但因为它应该由无法通过表单进行身份验证的外部应用程序调用,所以我只需要为子文件夹“webservices”启用“集成 Windows 身份验证(基本身份验证或摘要身份验证)”。

我尝试在 IIS 中配置它,但它不起作用。 这样我就可以设置不同的身份验证方法,我必须将文件夹“webservices”创建为“应用程序”。但如果我这样做了,那么我的函数将停止工作,并出现错误“无法创建类型 'Dummy'。”

是否可以拥有一个 Web 应用程序和身份验证方法? 如果是的话,它是如何在 IIS 中配置的?

或者,如果我只需要一个页面(网络服务)来使用与我的应用程序的其余部分不同的身份验证,那么更好的方法是什么。

提前感谢您提供任何信息。

再见

PS:我使用的是 Windows 2008 Server,应用程序在 .NET Framwork 2.0 上运行

【问题讨论】:

    标签: asp.net iis authentication forms-authentication windows-authentication


    【解决方案1】:

    我尝试在 IIS 中配置它,但它 不工作。这样我就可以设置一个 我有不同的身份验证方法 将文件夹“webservices”创建为 一个应用程序”。但如果我这样做了 我的功能停止使用 错误“无法创建类型 'Dummy'。”

    这是正确的方法。你能解释一下你在这里遇到的问题吗?什么是假人?

    在中混合窗体和 Windows 安全性 ASP.NET http://msdn.microsoft.com/en-us/library/ms972958.aspx

    【讨论】:

    • 感谢您的快速评论。
    • 当我从我的文件夹“webservice”创建一个新的“应用程序”时,这个文件夹中的文件 Dummy.asmx 开始抛出错误。 (在此之前它工作正常。)错误是: 描述:在解析服务此请求所需的资源期间发生错误。请查看以下特定的解析错误详细信息并适当地修改您的源文件。解析器错误消息:无法创建类型“虚拟”。第 1 行: Dummy=only an example name of my webservice
    • 也许问题出在其他地方。是不是一旦我创建了新的“应用程序”,我的 Dummy.asmx 就会失去与 bin 文件夹中主 DLL 的连接并且不再工作?我真的是这里的新手:-(((
    • 尝试在“webservice”文件夹下创建bin目录,并在转换为应用程序后将DLL放在那里。
    • 它有效!我已经复制了“webservice”目录下的整个“bin”目录。现在我有两种不同的身份验证方法。一个用于主应用程序,另一个用于“webservices”应用程序。非常感谢。我现在更进一步了。 :-)
    【解决方案2】:

    存在于较大应用程序中的 Web 服务通常不需要保护。如果这在您的场景中是可以接受的,您可以使用标准的 web.config 构造来允许匿名访问服务,同时仍然保护应用程序的其余部分。

    location 节点添加到主configuration 节点,该节点仅定义Web 服务的规则:

    <location path="webservices\Dummy.asmx">
        <system.web>
            <authorization>
                <!-- this overrides the parent app protection rules -->
                <allow users="*" />
            </authorization>
        </system.web>
    </location>
    

    【讨论】:

      猜你喜欢
      • 2019-07-10
      • 2019-04-30
      • 1970-01-01
      • 1970-01-01
      • 2011-06-27
      • 2016-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多