只为用户身份验证使用不同的数据库是否可以?
Is it ok practice to have a different database just for user authentication?
我开始使用 Phoenix 框架构建 API。我刚开始学习 Elixir 和 Phoenix,所以请原谅我的知识不足。
我的应用程序的数据结构依赖于大量使用跨多个节点的关系。所以我打算使用 OrientDB。有一个 OrientDB driver for Elixir. But so far it is just a binary driver and not integrated with Ecto. And there is a Token authentication solution for Phoenix (Marco Polo) 使用 Ecto。
因为我只是在构建一个原型,对 Elixir 不是很好,所以我考虑了处理缺失的最佳方法 link。开始将 Marco Polo 与 Ecto 集成,或者只是将用户信息存储在 PostgreSQL 中以进行身份验证。然后我将不得不镜像 OrientDB 中的用户,以便能够 link 他们到记录中。
目前我更喜欢将 PostgreSQL 和 OrientDB 结合使用。有没有我不知道的缺点?有没有人做过类似的事情可以分享一下经验?
许多大公司使用不同的数据库进行身份验证和常规应用程序数据存储。例如,大多数大公司都使用 LDAP,并在那里进行身份验证。
在两者之间同步用户信息是一个温和的 PITA,但如果您想要集中用户并拥有许多应用程序,这确实是唯一的方法。它可能也更安全,如果密码只存在于 authn 数据库中,而不存在于应用程序数据库中。
我开始使用 Phoenix 框架构建 API。我刚开始学习 Elixir 和 Phoenix,所以请原谅我的知识不足。
我的应用程序的数据结构依赖于大量使用跨多个节点的关系。所以我打算使用 OrientDB。有一个 OrientDB driver for Elixir. But so far it is just a binary driver and not integrated with Ecto. And there is a Token authentication solution for Phoenix (Marco Polo) 使用 Ecto。
因为我只是在构建一个原型,对 Elixir 不是很好,所以我考虑了处理缺失的最佳方法 link。开始将 Marco Polo 与 Ecto 集成,或者只是将用户信息存储在 PostgreSQL 中以进行身份验证。然后我将不得不镜像 OrientDB 中的用户,以便能够 link 他们到记录中。
目前我更喜欢将 PostgreSQL 和 OrientDB 结合使用。有没有我不知道的缺点?有没有人做过类似的事情可以分享一下经验?
许多大公司使用不同的数据库进行身份验证和常规应用程序数据存储。例如,大多数大公司都使用 LDAP,并在那里进行身份验证。
在两者之间同步用户信息是一个温和的 PITA,但如果您想要集中用户并拥有许多应用程序,这确实是唯一的方法。它可能也更安全,如果密码只存在于 authn 数据库中,而不存在于应用程序数据库中。