多系统集中用户管理系统的最佳解决方案

时间:2017-12-20 05:53:52

标签: wordpress authentication login ldap single-sign-on

目前,我们正在运行2个基于WordPress的网页,基于JS(Hapi,Angular,Mongo)构建的自定义应用程序,以及基于ISP Config的自托管GitLab存储库和托管。目前,想要使用多于1个服务的用户被迫创建多个帐户。

假设我们想要的话,最好的方法是集中它:

  • 用户在每个页面上使用相同的凭据
  • 允许用户使用社交登录(Facebook,Google,Twitter)登录并仍保留其单个个人资料
  • 集中有关用户服务,使用情况和结算信息(发票)的信息

我们不希望解决方案过于复杂,因此,我们不希望集中访问管理并从集中式服务器获取它们,每个页面/服务都将自行维护它(即当用户购买时WP网站(woocommerce)wordpress本身将保持秩序,我们将编写自定义代码报告销售到集中系统进行计费目的)

我们目前正在考虑使用LDAP或Kerberos,哪种更适合?

其次 - 如何报道有关社交登录的部分?我假设我们仍然应该允许用户使用OAuth2进行注册,并以某种方式在每个服务和集中式系统之间同步数据。还有另外一种方法吗?

1 个答案:

答案 0 :(得分:1)

你的欲望[纠正我,如果我错了]:

  • 您有两个基本上是分开的应用程序。
  • 这些应用程序可以通过HTTP从网页提供,也可以不提供 有一个auth系统或需要一个改造。
  • 您需要具有社交身份验证的集中登录系统。
  • 您只有一个商业实体。
  • 您希望为电子商务提供单一的综合数据源。
  • 你基本上是在WordPress上从头开始设置它 后端方面,目前没有混合用户生态系统。

我的想法: 您不需要LDAP或Kerberos。对于这种情况,这些解决方案太复杂了。 你想要一个单一的WordPress安装。您可以轻松设置后端以回答多个域。换句话说,单个wordpress安装可以处理“domain1.com”和“domain2.com”的页面,并使用完全不同的标题和文本呈现页面,使它们成为两个站点。没有理由维护两个单独的用户列表,因为您希望单个系统登录。根据用户的业务数据区分用户,即user1的数据“在SiteA上注册”,user2的数据“在SiteB上注册”等。

您可以将应用程序放入WordPress页面,然后使用is_user_logged_in()在WordPress后面对其进行防火墙处理。这是auth的行业标准方法,如果设置正确,则非常安全。或者,如果它是数据api,您可以将其作为端点并使用完全相同的auth系统。

任何在free .org repo中流行的主要社交身份验证插件都应该使用这种方法解决问题。

如果您要关联博客,即关于产品的许多“帖子”,并且您希望这些博客是不同的生态系统,使用不同的用户组,那么您正在寻找WordPress多站点。我不认为这是你想要的。你听起来不像是要“博客”。或者至少每个页面都将在这些组合网站上精心策划。因此,您可能只需要一次安装即可将内容提供给两个域。 NOT MULTISITE。

你应该使用WooCommerce,因为它是最广泛支持的平台。设置是100%免费的。

即使在一次安装中,您也可以轻松地提供完全不同品牌的网页。例如,一个WordPress站点可以将页面提供给两个域,并在页面顶部放置不同的徽标和标题以使它们看起来不同。一台物理机可以服务于两个域。

底线:您希望在一台计算机上设置一个WordPress,为两个域提供服务。域上的内容和外观可以随意不同。使用.org repo中的任何流行的社交身份验证插件来防火墙。