【问题标题】:Could not authorize when trying to web deploy with VS2015 to IIS remote agent尝试使用 VS2015 将 Web 部署到 IIS 远程代理时无法授权
【发布时间】:2016-11-04 10:05:28
【问题描述】:

我正在尝试通过 Visual Studio 2015 将我的应用程序 Web 部署到在 Intranet 中运行的 IIS,但我总是收到以下错误

使用 Web 部署代理服务连接到 192.168.0.20,但无法授权。确保您是 192.168.0.20 的管理员

我正在使用远程计算机用于 Web 部署的唯一本地管理员帐户。在远程计算机 (192.168.0.20) 上,WebDeploy 事件日志中没有关于未经授权尝试进行 Web 部署的任何内容。日志完全为空(仅 6 天前的错误日志)

在故障排除方面,这是我的设置:

远程机器:

  • Windows 7 旗舰版
  • 禁用所有防火墙
  • IIS Express 7.5
  • MsDepSvc.exe 进程正在运行
  • 将网站 (TestWebsite) 与应用程序 (test) 添加到 IIS
  • 一个本地管理员帐户

我或多或少地遵循了这个教程来设置远程机器: https://www.asp.net/web-forms/overview/deployment/configuring-server-environments-for-web-deployment/configuring-a-web-server-for-web-deploy-publishing-remote-agent

开发机器:

  • 使用本地管理员帐户

这是网络部署设置:

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>MSDeploy</WebPublishMethod>
    <LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish>
    </SiteUrlToLaunchAfterPublish>
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <MSDeployServiceURL>http://192.168.0.20</MSDeployServiceURL>
    <DeployIisAppPath>TestWebsite/test</DeployIisAppPath>
    <RemoteSitePhysicalPath />
    <SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
    <MSDeployPublishMethod>RemoteAgent</MSDeployPublishMethod>
    <EnableMSDeployBackup>False</EnableMSDeployBackup>
    <UserName>admin</UserName>
    <_SavePWD>True</_SavePWD>
    <PublishDatabaseSettings>
      <Objects xmlns="">
        <ObjectGroup Name="DefaultConnection" Order="1" Enabled="False">
          <Destination Path="" />
          <Object Type="DbCodeFirst">
            <Source Path="DBContext" DbContext="TestWebsite.Models.UsersContext, TestWebsite" Origin="Configuration" />
          </Object>
        </ObjectGroup>
      </Objects>
    </PublishDatabaseSettings>
    <ADUsesOwinOrOpenIdConnect>False</ADUsesOwinOrOpenIdConnect>
  </PropertyGroup>
  <ItemGroup>
    <MSDeployParameterValue Include="$(DeployParameterPrefix)DefaultConnection-Web.config Connection String" />
  </ItemGroup>
</Project>

【问题讨论】:

    标签: asp.net .net iis deployment


    【解决方案1】:

    问题是我使用的是具有管理员权限的已创建用户(我称为管理员)。 但是默认管理员帐户应该被使用,默认情况下是禁用的,可以通过以下方式启用:

    net user administrator /active:yes
    

    然后在给这个帐户一个密码后,这些凭据可以用于网络部署

    【讨论】:

    • 问题仍然存在,技术“管理员”和“管理员”具有相同的管理员权限。为什么网络部署只需要默认管理员帐户而不需要管理员
    • 我在forums.iis.net/t/1190239.aspx 得到了解决方案。它说,您需要将新创建的用户“admin”添加到 MSDepSvcUsers 用户组,它可以工作
    【解决方案2】:

    我遇到了同样的问题。我通过使“Web 部署代理服务”使用“本地系统”登录而不是“服务”窗口中的“网络服务”来修复它。

    除了允许我的管理员帐户进行 Web 部署之外,我真的不明白这会产生什么影响,因此请自行承担风险。

    【讨论】:

    • 我不知道这是否相关,但我的网站使用完整的 .net 4.6.2 框架和 aspcore 1.1.1。我也在 windows server 2016 上使用 Web Deploy 3.6。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多