首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单一SignOn -最佳实践

单一SignOn -最佳实践
EN

Stack Overflow用户
提问于 2010-06-03 02:11:31
回答 2查看 488关注 0票数 4

我需要为多个站点建立一个可伸缩的单点登录机制。设想情况:

  • 中央网络应用程序注册/管理帐户(欧洲服务器)
  • 需要对我的用户数据库进行身份验证的几个web应用程序(美国/欧洲/太平洋地区的服务器)

我正在使用MySQL作为数据库后端。我想出的选项要么是在所有服务器上复制用户数据库(数据安全性?)或者允许服务器直接连接到我的MySQL实例,显式地允许它们在my.cnf (高负载)中的in连接?单点失败?)。

为所有web应用程序提供可伸缩和低延迟的单点登录的最佳方法是什么?在数据安全性方面,在所有web应用程序中复制用户数据库是否是一个好主意?

注释:所有web应用程序都提供了一个API,用户可以使用它将小部件嵌入到自己的网站中。这些小部件通过令牌auth机制工作,该机制将再次需要对我的用户数据库进行身份验证。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-03 12:02:36

我不会在数据库级别上集成身份验证,比如复制db或允许从其他服务器访问。这可能会变得很难维持。我更喜欢采用松散耦合的方法,在中央服务器上公开一个简单的服务,让其他应用服务器运行身份验证请求。

您应该研究以下问题(可能更多):

  • 如何避免服务器间密码的明文传输
  • 如果应用服务器网络从同一个IP中对其所有用户进行身份验证,则可能无法限制服务,因此您可能希望限制对某些客户端的访问,以避免流氓机器大量搜索有效帐户。
  • 如何集中强制执行诸如会话过期之类的内容
  • 如何处理/避免服务停机

可能有帮助的技术:

  • 密码补语 (以避免密码传输)
  • 证书 (证明客户身份)

或者,您可能希望让客户端使用中心服务来获取令牌,然后将令牌提升到目标服务器并由目标服务器进行验证。有些架构的工作方式类似(例如,Kerberos票证服务器),它们可以起到启发作用。

票数 3
EN

Stack Overflow用户

发布于 2018-03-12 04:11:16

您应该选择Oauth2或SAML。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2962918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档