2016-09-26 70 views
0

真希望在我浪费太多时间之前,我可以通过此获得一些指示。事实上,我甚至不知道我需要问这个问题。我正在处理一大堆技术,我很少知道这方面的经验。从历史上看,我一直是一个非常简单的vb.net桌面开发人员,所以我正在学习MCV5 & C#。我意识到其中的一些可能是在错误的地方,但希望指标在租约具有内部部署ADFS身份验证的MCV Web应用程序

所以情况是我被要求开发一个Web应用程序/ api由我的一些客户,使他们的现场工作人员可以在离开办公室时执行某些数据输入功能并定期反馈到他们的管理系统。所有这些客户都有非常接近相同的需求和管理系统,所以我的意图是建立一个多租户数据库的Web应用程序,我控制谁可以看到基于他们的登录名。 网络应用程序,数据库等的核心我已经得到了我的头,事实上,这一切似乎都非常无缝。使用https://msdn.microsoft.com/en-us/library/aa479086.aspx作为起点,我想我可以管理事物的数据库端。

我真的在努力挣扎的是如何最好地保护这个系统。查看visual studio(2015)中提供的选项,我认为对我来说最好的选择是使用内部部署ADFS。我的老板已经对Azure说了一些话,所以很遗憾,这不是一种选择,我们几乎拥有自己的服务器农场,而不仅仅是能够托管这个服务器。 这里真正的贴纸是我的SA几乎说这不是他的问题,如果你想要ADFS和一个Web服务器,你可以把它整理出来。至少,他给了我一个不错的新服务器虚拟机,但至少不需要更多的工作。

因此,对这些问题

  1. 是ADFS甚至需要在这种情况下,还是我更好地通过所有标准广告或其他一些工具与此 应对?即使有可能,这是一个好主意吗?
  2. 在开发/测试过程中,可以使用自签名证书还是 我是否会遇到证书错误?
  3. 配置ADFS时,系统会要求您提供联合服务名称。在 senario上面,我用它来验证一个网络应用程序, 是否直接暴露给最终用户?他们是否需要 需要输入到他们的浏览器?并且为此更好地拥有外部DNS条目?

回答

0

我的2美分:

  1. 将有一个学习曲线,但如果所有的用户存储在AD,使用ADFS会给你一些优点,比如SSO,对其他供应商如果联盟你以后需要它。
  2. 开发/测试过程中使用自签名证书没有问题。您可以关闭ADFS端的证书撤销检查。
  3. 不,该联合身份验证服务名称未公开给最终用户。我建议你有ADFS的外部DNS条目,因为你的用户需要从外部访问它。总之,用户很少需要输入ADFS URL。相反,他或她需要访问服务提供商站点,并将其重定向到ADFS站点。
0

这正成为一种更常见的情况,可以通过AD FS进行无缝处理。理想情况下你会想要做的是:

  • 部署AD FS农场
  • 配置你的Web应用程序,相信自己ADFS STS
  • 每当你需要添加谁将会使用多租户客户应用程序,向该客户添加联合信任(即您的AD FS和客户的AD FS之间的联合信任)

这将确保您在添加时不必为每个用户处理身份管理一个客户。当客户尝试登录到您的Web应用程序时,他将针对他的AD FS进行身份验证,并且您的AD FS将获得令牌并签名并将其呈现给Web应用程序。这将给他们SSO,每个人都已经开始期待作为一个事实上的:)

自签名证书 - 作为顺提到它是确定测试过程中使用它们,只是确保所有的测试箱配置信任证书或以其他方式,你将看到连接断开各地

联合会服务名称 - 正如上面安装摘要说明,联合身份验证服务的名字将永远不需要暴露于从客户的组织最终用户。尽管他知道,但他已经习惯了AD FS,因为他已经习惯了。

你可能要考虑在Azure中部署AD FS: AD FS deployment in Azure

+0

欣赏的意见,我说,虽然不管我多么希望使用Azure的AD为了这个,我不能。老板对此非常肯定。 – Hursey