我开始使用 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/