asp.net - 从 ASP .Net Web 服务访问 MSMQ 时出现权限错误

标签 asp.net iis permissions msmq web-services

我编写了一个从消息队列读取的网络服务。 这在卡西尼号下工作得很好。

现在我已经在 IIS 下部署了该服务,当该服务尝试访问队列时我收到一条错误消息:

队列不存在或您没有足够的权限来执行该操作。

我已将 IIS 虚拟目录上的匿名访问用户设置为我自己的域帐户,该帐户是本地计算机上管理员组的成员。我已授予该用户对队列以及 NETWORK SERVICE 和 ASPNET 的完全权限。

我仍然收到相同的错误消息。

我还尝试禁用虚拟目录上的匿名访问并使用我自己的登录详细信息连接到服务 - 但没有成功。

任何有关此问题的帮助将不胜感激!

<小时/>

我还尝试了以下各种组合:

和 testUsr 对队列具有完全权限。我已在 C:\

上的 MSMQ 存储文件夹上添加了用户和 ASPNET 的权限

最佳答案

我对问题的理解是,尝试执行代码的进程在 IIS 下与 Cassini 下以不同的帐户运行。

问题是,无论我模拟哪个用户 - 我总是收到相同的错误消息 - 即使该用户是本地和域管理员组的成员,并且该用户对队列具有完全权限。即几乎不可能为用户分配更多权限。

事实证明,使用队列的 FormatName 而不是路径名 (myMachine\queueName) 解决了问题...

格式名称:DIRECT=操作系统:myMachine\myQueue

我不确定到底为什么会出现这种情况。阅读表明,当使用路径名时,有必要进行 AD 查找,虽然我认为我测试的用户应该有权这样做,但也许缺少一些东西。

但是眼前的问题已经解决了,这对我来说已经足够了。

关于asp.net - 从 ASP .Net Web 服务访问 MSMQ 时出现权限错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/734417/

相关文章:

android - SS_ART_lib [I] : access to SS denied

javascript - ASP.NET 未从 LinkBut​​ton onClick 获取 CommandArgument 值(VB)

c# - 在 C# asp.net webform 中显示消息和重新加载页面

c# - 数据连接中的数据源中缺少Mysql数据源

windows - 请求的 IIS 文件授权失败

apache - Laravel 5.4 - 安装后出现 500 错误

asp.net - ASP.NET 网站上的广告

iis - 如何将 WebDeploy 与 ASP.Net core 结合使用

node.js - 从node.js切换到iisnode时需要更改哪些内容?

MySQL 错误 1449 : The user specified as a definer does not exist