小编Typ*_*ina的帖子

CopyAllFilesToSingleFolderForPackageDependsOn和Web Deploy

我正在使用Visual Studio 2015的Web Deploy功能将我的Type Script SPA项目部署到我的登台服务器.

我希望部署过程将一些特定于部署的文件从项目的/ Deployment文件夹复制(并重命名)到项目的其他特定位置.

一个这样的例子是:

[project_root] /Deployment/index.remote.debug.html ---> [project_root] /index.html

我设法使用我的发布配置文件(.pubxml)中的以下部分实现此目的:

<Target Name="index_html">
  <ItemGroup>
    <_CustomFiles Include="Deployment/index.remote.debug.html" />
    <FilesForPackagingFromProject Include="%(_CustomFiles.Identity)">
      <DestinationRelativePath>index.html</DestinationRelativePath>
    </FilesForPackagingFromProject>
  </ItemGroup>
</Target>
<Target Name="extractor_config">
  <ItemGroup>
    <_CustomFiles Include="Deployment/extractor.config.remote.debug.js" />
    <FilesForPackagingFromProject Include="%(_CustomFiles.Identity)">
      <DestinationRelativePath>extractor.config.js</DestinationRelativePath>
    </FilesForPackagingFromProject>
  </ItemGroup>
</Target>

<PropertyGroup>
  <CopyAllFilesToSingleFolderForPackageDependsOn>
    index_html;
    $(CopyAllFilesToSingleFolderForPackageDependsOn);
  </CopyAllFilesToSingleFolderForPackageDependsOn>
  <CopyAllFilesToSingleFolderForPackageDependsOn>
    extractor_config;
    $(CopyAllFilesToSingleFolderForPackageDependsOn);
  </CopyAllFilesToSingleFolderForPackageDependsOn>

</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

但这仅在使用"文件系统"选项发布到文件系统时才有效.使用"Web Deploy"选项发布到我的登台服务器时,我看不到任何效果.应用程序已正确部署,但不会复制/重命名相应的文件.

Visual Studio输出中也没有与此类Web部署相关的错误消息.

如果我部署为非管理员或管理员,则没有任何区别.

有谁知道,问题出在哪里?

关于MSBuild我是一个完全的门外汉,这是我第一次遇到.我只是在其他人的在线体验的帮助下把它放在一起.

deployment msbuild visual-studio-2015

7
推荐指数
2
解决办法
3310
查看次数

Google OAuth - 如何检查用户是否已允许访问我的应用程序

简短的介绍:

如果用户已经授予我的应用程序对其 google 个人资料的 OAuth 访问权限,我希望他们不必在每次登陆我的主页并自动登录时按“使用 google 登录”按钮。

如果用户尚未授予访问权限,我想向他们展示带有“使用谷歌登录”按钮的登录选项页面。

详细描述:

我正在按照此链接所述实施 Google OAuth 流程:

将 OAuth 2.0 用于 Web 服务器应用程序

为了清楚起见,相关流程如下:

  1. 向(客户端)用户显示“使用 google 登录”按钮
  2. 用户按下按钮后,将他们重定向到谷歌的 OAuth 2.0 服务器,在那里他们允许/拒绝我的应用程序访问他们的谷歌个人资料
  3. 如果用户允许访问,谷歌会将他们重定向回我的应用程序
  4. 我的应用程序(服务器端)使用获得的授权来获取访问令牌
  5. 我的应用程序(服务器端)使用获取的访问令牌访问用户的个人资料

我想实现以下目标:

如果用户之前已经允许我的应用程序访问他们的 google 个人资料(无论是在当前计算机上还是其他计算机上),我希望他们在导航到我的应用程序的 URL 后立即产生登录到我的应用程序(使用 google)的印象。无需点击任何东西。

乍一看这不是问题。为了实现这一目标,我将自动执行上述流程的步骤 1 和 2。用户导航到应用程序的 URL 后,将自动重定向到 google oauth 服务器,而无需按“使用 google 登录”按钮。谷歌反过来立即将用户重定向回我的应用程序并提供有效的授权(同样不需要用户输入任何内容)。其余部分保持不变。用户会有立即登录的印象。

但这种方法有一个问题。如果用户第一次访问我的页面(之前没有授予我的应用程序访问权限),他们也会被重定向到 google OAuth 页面。但由于他们还没有授予访问权限,也没有按下任何登录按钮,他们最终会盯着 google oauth 服务器页面,困惑不解,不知道发生了什么。

是否有一些 API,通过它我可以检测到用户尚未授予对我的应用程序的访问权限(我应该首先向他提供“唱入”按钮)?

如果您的解决方案涉及一些 API 调用,请向我指出 HTTP/REST API,因为我不使用(也不想使用)任何更高级别的 OAuth 库。

谢谢。

oauth oauth-2.0 google-oauth

6
推荐指数
1
解决办法
4812
查看次数