如果无需再次构建登录页面,那会怎样? 笔记

如果无需再次构建登录页面,那会怎样?

在应用程序中构建登录页面通常始于对用户基础数据的存储,例如用于存储邮箱和密码的数据库表。最初,这些数据可能直接在数据库中管理。随着应用程序需求的发展,创建、更新和删除用户等用户管理功能会被添加到应用程序内部。这导致当出现具有类似登录和用户管理需求的新项目时,会产生代码重复。跨项目复制和修改现有代码会引发效率低下和潜在错误传播的问题。例如,在一个项目中修复的 bug 必须手动在所有继承该代码的其他项目中修复。这种模式凸显了为认证和用户管理等通用功能进行重复开发所面临的挑战。为解决这一问题,提出了两种主要方法:创建可重用的模块/库,或开发一个独立的专用应用程序来提供这些服务。后者通常更为高效,使项目能够专注于其核心功能,并集中维护。为此目的,已存在现成的解决方案,如 Auth0 和 Firebase Authentication。本文介绍了"Roled"作为一个特定的平台,用于集中式用户和角色管理,并将认证作为其功能之一。Roled 允许应用程序将认证和权限管理委托给单一平台,从而避免代码重复并简化维护。这种方法使得每个应用程序都能拥有自己隔离的用户和角色系统。