【发布时间】:2014-04-19 01:35:18
【问题描述】:
我有一个使用 Oracle 9i 作为数据库的应用程序,我想仅授予此应用程序使用的会话/连接的更新/删除/插入等权限。
我希望通过 excel、access 等进行的所有其他连接都处于只读状态,以防止用户“意外”通过这些应用程序更改数据。
如果我让所有用户从只读权限开始,那么当他们连接到此应用程序时,我想调用一个特定的存储过程,该过程将只授予用户对该会话的适当权限。一旦他们断开连接,用户将恢复为只读权限。
我在其他帖子中看到您可以向登录添加触发器,以便检查连接是否来自 application1.exe 然后您可以执行操作,或者如果它们从“excel.exe”连接,您可以阻止它们。
这与我需要做的很接近,但并不完全。
我的冗长问题是“我能否仅授予会话/连接权限,然后允许该用户根据正在运行的特定应用程序更新数据?”
感谢您耐心阅读此问题。
卡尔
【问题讨论】:
-
这听起来真是个坏主意。而是将角色分配给用户。
-
只有在会话连接时才授予某些东西是没有用的。如果用户没有连接到数据库,那么他在任何情况下根本无法做任何事情。