postgresql - 只为用户身份验证使用不同的数据库是否可以?

标签 postgresql authentication orientdb elixir phoenix-framework

我开始使用 Phoenix 框架构建 API。我刚开始学习 Elixir 和 Phoenix,所以请原谅我缺乏知识。

我的应用程序的数据结构依赖于大量使用跨多个节点的关系。所以我打算使用 OrientDB。有一个 OrientDB driver for Elixir .但到目前为止,它只是一个二进制驱动程序,并没有与 Ecto 集成。还有一个使用 Ecto 的 Phoenix ( Marco Polo) 的 token 身份验证解决方案。

因为我只是在构建一个原型(prototype),对 Elixir 不是很好,所以我想出了处理缺失链接的最佳方法。开始将 Marco Polo 与 Ecto 集成,或者只是将用户信息存储在 PostgreSQL 中以进行身份​​验证。然后,我必须在 OrientDB 中镜像用户,以便能够将他们链接到记录。

目前我更喜欢同时使用 PostgreSQL 和 OrientDB。有没有我不知道的缺点?有没有人做过类似的事情并可以分享他们的经验?

最佳答案

许多大公司使用不同的数据库进行身份验证和常规应用程序数据存储。例如,大多数大公司都使用 LDAP,并在那里进行身份验证。

在两者之间同步用户信息是一个温和的 PITA,但如果您想要集中用户并拥有许多应用程序,这确实是唯一的方法。如果密码只存在于 authn 数据库中而不存在于应用程序数据库中,它可能也更安全。

关于postgresql - 只为用户身份验证使用不同的数据库是否可以?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32656466/

相关文章:

postgresql - Cygnus-NGSI 不会在 PostgreSQL 中保存数据

postgresql - 组和子组关系的最优关系设计

reactjs - React.js 身份验证重定向到每次刷新时登录

session - 具有多个域的 ColdFusion session 管理/用户身份验证

sql - OrientDB GraphED - SQL 在两个(选择顶点 RID)之间插入边?或者非常大的导入的替代方法

sql - 如何在 OrientDB 中合并两个查询的结果

mongodb - 文档数据库中的链接与引用

postgresql - 时间范围内的“一对多”关系完整性问题

SQL 选择 COUNT(*) > 最小数量

javascript - Facebook JavaScript API 登录 : What do I store in my own application's user records?