我的团队将开发一个内部(已知用户)应用程序,该应用程序的架构基于 Java 作为前端,PL/SQL 作为后端。因此,目前我们正在考虑一种更好的解决方案来管理用户/权限,我们有两种选择:
每个用户都有自己的数据库帐户,并被授予权限。目前遗留系统使用这种方法,我不喜欢它,因为它基于数据库对象的粒度来管理权限。所以,我认为每个用户都有一个数据库连接是一个糟糕的选择。你能在这里看到更多的缺点吗?
在数据库中构建一些表来存储用户及其权限/配置文件,并构建一个 PL/SQL 过程来进行登录,生成一个令牌并包含一个参数给所有其他 PL/SQL 以验证这个令牌,然后授权(或不授权)执行。
所以,你可以问我:为什么不在你的网络应用程序中管理你的权限呢?回答:那些 PL/SQL 已经完成并被所有遗留系统使用,并且这个 Web 应用程序应该按照它运行(即,用户权限应该由 PL/SQL 管理,其粒度基于 please。)
在这种情况下,您将如何进行?