【发布时间】:2013-03-06 17:31:14
【问题描述】:
我正在尝试使用非管理员帐户(使用 Web Deploy 3.0)部署 ASP.net MVC 网站。根据我看过的所有视频和文档,这是可能的。但是,当我尝试部署时出现错误 (ERROR_USER_NOT_ADMIN)。
我已经在服务器的“IIS 管理用户”下添加了用户。 此用户存在于站点的“IIS 管理器权限”下。
我错过了什么?
这里是 pubxml:
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<WebPublishMethod>MSDeploy</WebPublishMethod>
<SiteUrlToLaunchAfterPublish>http://sitename.com/</SiteUrlToLaunchAfterPublish>
<MSDeployServiceURL>http://server.com</MSDeployServiceURL>
<DeployIisAppPath>IISsitename</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
<MSDeployPublishMethod>RemoteAgent</MSDeployPublishMethod>
<UserName>user</UserName>
<_SavePWD>True</_SavePWD>
<PublishDatabaseSettings>
<Objects xmlns="">
</Objects>
</PublishDatabaseSettings>
</PropertyGroup>
</Project>
ERROR_USER_NOT_ADMIN 诊断 - 如果您尝试连接到远程代理服务但没有 提供了适当的管理员凭据。 解决方案 - 远程代理服务接受内置管理员或域 管理员凭据。如果您有非域设置并想使用其他帐户 该内置管理员,请执行以下操作: 在远程计算机上创建一个单独的用户组 MSDepSvcUsers。 在本地和远程计算机上创建一个本地帐户 A。 将 A 添加到远程计算机上的 MSDepSvcUsers。 使用帐号 A 发布,这将允许您无需使用内置 > 管理员帐号即可发布。
【问题讨论】:
-
问题在于它使用的是远程服务部署而不是 Web 部署。如果使用远程服务部署,该帐户必须是管理员。 Web 部署允许非管理员帐户。为了修复,我不得不将 MSDeployServiceURL(在 pubxml 中)更改为 server.com:8172/MsDeploy.axd - 更改为 https,添加端口和 MsDeploy.axd
-
您能否完整地分享您的最终设置以提供完整的背景信息?您是否最终在 IIS 中创建了委派规则?
标签: asp.net-mvc webdeploy