小编dot*_*dev的帖子

从 Azure AD 到 Azure B2C 的模拟

我们正在开发一个需要两种不同类型用户的 Web 应用程序:

  • 管理员(映射到 Azure AD、SSO);
  • 客户(映射到 Azure AD B2C);

客户使用其 Azure AD B2C 帐户登录 Web 应用程序。管理员使用其 Azure AD 帐户登录网站的管理 UI 区域。这部分很好。

然而,要求之一是管理员能够冒充客户,以便他们可以代表客户执行某些任务,例如下订单。

我们将使用 OAuth(.NET 包)进行授权。我的问题实际上有两个:

1)OAuth是否支持冒充其他账户?

2) 如果是,Azure AD 中的帐户是否有可能模拟 Azure AD B2C 中的用户 - 目前它们是不同的目录,彼此不可见。

也许我的问题有点模糊,我们正在寻找正确方向的一些指示。

提前谢谢了

点开发

asp.net-mvc single-sign-on oauth-2.0 azure-active-directory azure-ad-b2c

6
推荐指数
2
解决办法
2409
查看次数

GitHub 流程和发布

总的来说,我们对 git 比较陌生。我们已经使用了大约 6 个月,并且使用过 GitHub 和 BitBucket。我们尝试通过使用 GitBash 尽可能多地学习,以便深入了解 git 的核心。

我们正处于真正想要考虑我们的分支策略的阶段,因此我一直在做一些研究。

在我看来,GitFlow 对我们的要求来说过于复杂。我们总共参与了大约 20 个不同的项目,每个项目可能每 2 个月左右发布一次。查看 GitHub Flow 后,这似乎是一个非常直接的选项,可以满足我们的需求 - 但是它似乎确实有一个缺陷,我希望人们对此发表意见。

master 分支中的任何内容都是可部署的。我们部署到 UAT/QA 环境,该版本可能会保留 3-4 周,具体取决于客户和/或我们签署所有内容所需的时间。与此同时,其他人可能需要做一些完全不同的事情。在这个阶段,基于 Github Flow 的流程,如果该用户从 Master 那里获取了一个分支,他们将包括此时实际上仍在 QA 环境中的更改。那么,是不是我误解了 GitHub Flow 的第一点——即 master 分支中的任何东西都是可部署的——如果代码已经通过 QA 等,这可能才正确吗?

如果是这样的话,流程实际上看起来更像吗?:

  • 从 Master 取一个分支
  • 在分支中提交更改(仅在此阶段返回分支)
  • 将分支与名为“Develop”的单独分支合并
  • 发布到 QA/UAT
  • 当 Release 被批准时,将分支与 Master 合并并部署?

我认为 GitHub Flow 中的第 1 点让我们感到困惑——当发布仍处于 QA 阶段时,我们当然不应该将其推回 Master——这将使 Master 分支可能不稳定,当然不是目前在生产中的分支。

git github git-flow

5
推荐指数
1
解决办法
1840
查看次数

在Build Step中访问TeamCity工件

我一直在玩TeamCity以启动和运行CI环境.

我开始关注Troy Hunt的"你正在部署错误",这非常有用,但我想将打包和部署分成两个单独的步骤,原因如下:

  1. 我想将一些额外的标志传递给msdeploy,这是不可能的(对于m,y知识),使用Troy描述的MSBuild包和部署.
  2. 如果我需要构建软件包但不部署它,我可以轻松地禁用第二个构建步骤即部署.
  3. 我想在msdeploy上使用-skip标志来防止它删除某些文件夹,我再也找不到任何方法,而不将其作为参数传递给命令行.

所以,在我的第一个MSBuild步骤中,我只有参数:

/P:Configuration=%env.Configuration%
/P:VisualStudioVersion=11.0
/P:IgnoreDeployManagedRuntimeVersion = True

然后我有第二个Build Step,它使用命令行构建运行器来执行以下msdeploy命令:

"C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync       -source:package="C:\ProgramData\JetBrains\TeamCity\system\artifacts\MyProject\%system.teamcity.buildConfName%\%teamcity.build.id%\MyProject.Web.csproj.zip"   -dest:auto,ComputerName='https://devserver:8172/msdeploy.axd?site=MyWebsite',UserName='domain\username',Password='password',IncludeAcls='False',AuthType='Basic' -skip:objectName=dirPath,absolutePath=media$ -disableLink:AppPoolExtension -disableLink:ContentExtension   -disableLink:CertificateExtension -retryAttempts=2 -allowuntrusted
Run Code Online (Sandbox Code Playgroud)

这样做的问题是显然TeamCity在所有构建步骤完成之前不会发布工件,因此命令行进程失败,因为包zip文件实际上并不存在.

我已经阅读了有关发布工件的内容,而Build仍在进行中,但这看起来确实有点像黑客.

任何建议将不胜感激.

msbuild teamcity msdeploy teamcity-8.0

3
推荐指数
1
解决办法
4819
查看次数