【问题标题】:Unable to render HTML. Unable to access URL. COM error 80070005. Access is denied无法呈现 HTML。无法访问网址。 COM 错误 80070005。访问被拒绝
【发布时间】:2014-05-23 08:28:33
【问题描述】:

我收到了 ABCpdf 组件抛出的异常: 部署到POC服务器(Windows 2008, 32 bit, IIS7 32 bit, Windows Authentication)时,组件在执行此操作时抛出异常:pdfDoc.AddImageUrl(uri);

Unable to render HTML. Unable to access URL.
COM error 80070005. Access is denied.
URL 'http://localhost:878/SimplePage.aspx'.

Same error, when replacing localhost with the actual IP:
Unable to render HTML. Unable to access URL.
COM error 80070005. Access is denied.
URL 'http://192.168.26.230:878/SimplePage.aspx'.

但是,从任何外部 uri 生成 PDF 都没有问题,例如 http://www.google.com

访问被拒绝 WHAT ???

IIS 池正在网络服务帐户下运行。 但是当我将它设置为使用本地系统帐户运行时,它可以工作

【问题讨论】:

    标签: asp.net abcpdf


    【解决方案1】:

    您编写了“IIS7 32 位,Windows 身份验证”。这意味着您的 IIS 站点希望用户代理使用 NTLM 身份验证。因此,您需要告诉 ABCpdf 使用什么帐户。

    参见 ABCpdf 的LogonName Property

    您将需要提供真正可以访问 IIS 站点的真实用户名和密码。网络服务不是真实帐户(它没有密码)。

    最好将匿名身份验证方法添加到本地 IIS 站点,这样 ABCpdf 就不需要凭据来访问它。

    【讨论】:

    • 我无法进行匿名身份验证,应用程序仅为 Windows 身份验证而设计。提供登录到 ABCpdf 对象...这里不可行。将网络服务所需的权限授予“什么”是完全有意义的? “拒绝访问”ABCpdf COM 异常消息没有说 - 拒绝访问什么:))
    • 如果你认真对待“在这里不可行”,那么你将彻底失败。 “Networkservice”拥有凭据这一事实对 abcpdf 来说没有任何意义。 Abcpdf 正在尝试访问您的网站。它正在开辟自己的新联系。想象一下它有自己的浏览器。它需要向网站提供凭据。您必须选择一个现有用户,或为其创建一个用户,并将用户名和密码直接编码到您的应用程序中(或在 web.config 中,或其他)。
    • 非常感谢您澄清这一点。那为什么它在本地系统帐户下工作?
    • 说实话,我不知道为什么当应用程序在 LocalSystem 下运行时它会起作用。
    猜你喜欢
    • 2011-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-05
    • 2020-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多