首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IIS7托管API经典ASP连接显示"InvalidSecurity验证消息的安全性时发生了错误“

IIS7托管API经典ASP连接显示"InvalidSecurity验证消息的安全性时发生了错误“
EN

Server Fault用户
提问于 2011-08-05 11:25:08
回答 1查看 1.1K关注 0票数 0

在II7上,我们托管了一个基于WCF/asp.net的API。为了允许经典asp应用程序的用户连接到API,我们必须发布一个我们称之为“传输”的版本。这个传输版本也是用asp.net编写的,它指向同一个程序集,它只是安全层不同,允许经典的asp进行身份验证。传输级安全性用于与基于消息的安全性相反。

当使用浏览器加载服务引用时,我可以加载svcutil.exe .WDSL页面。

当使用测试asp页面从此引用调用web方法时,将返回以下内容:

完成了Web服务的调用。Status =内部服务器错误ResponseText = a:InvalidSecurityAn在验证消息的安全性时发生了错误。

这表明身份验证失败了。当使用asp.net或应用程序WCF与普通API联系时,一切都很好。

API是最近迁移的,它看起来有些东西没有被正确地设置,但是我不知道解释什么。

我可以浏览到svcutil.exe。WDSL服务引用,当通过浏览器选择它时,我会得到expect XML响应。

当使用API的非经典asp发布时,使用基于消息安全性的用户名和密码。

是否有可能发布一些故障排除提示,以帮助诊断该问题,请具体涉及传输级别的安全故障查找和设置?

谢谢斯科特

EN

回答 1

Server Fault用户

回答已采纳

发布于 2011-10-06 13:54:38

参考文献http://theether.net/kb/100127

将cmd提示CD加载到C:\Windows\System32 32\inetsrv enter: appcmd列表配置-节:system.webServer/ASP显示以下路径: c:\inetpub\conf\temp\ASP编译模板检查路径是否存在(它确实)检查网络服务是否具有访问"ASP已编译模板“的权限(如果不是从appcmd执行)

icacls "c:\inetpub\conf\temp\ASP编译模板“/grant”网络服务:(OI)(CI)(M)“

应读为“成功处理了1个文件”

重新启动应用程序池。

“验证消息安全性时发生的InvalidSecurityAn错误”问题仍然存在,但“无法创建磁盘缓存子DIRECORY.”事件日志中的错误不再发生。

抱歉又有新消息了。网络服务权限的更改没有解决问题,改为默认的应用程序池解决了问题。

终于找到线索了。审查:

在服务行为中设置ServiceSecurityAudit。_http://intrepiddeveloper.wordpress.com/2008/08/07/security-event-logging-auditing/# IIS日志(只显示非特定错误500)。启用故障跟踪(还显示错误500)。自定义错误关闭友好的IE消息关闭Asp客户端和服务器端调试在ProcessMon上运行,没有错误。Web.config httpErrors errorMode=的“详细”/> + ServiceSecurityAudit给我找到了一个“对象引用,没有设置为对象的实例”,所以听起来我们的应用程序有一个bug。

后续行动(06/10/11):

服务安全审计记录如下:

http://intrepiddeveloper.wordpress.com/2008/08/07/security-event-logging-auditing/

是我们解决这个问题的关键。发现对象引用错误,指出业务对象和数据访问dll不对齐。使用经典的ASP来使用传输身份验证与WCF.NET API联系,在WCF部署中的behaviour.config文件上启用服务安全审计之前,几乎没有任何错误的迹象。

  • 已解决*
票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/298027

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档