基于用户在列上应用蒙版

时间:2017-09-03 05:05:04

标签: oracle12c masking

我们有这样的要求: User1加载一个jsp页面,例如带有信用卡信息的客户端屏幕,在该屏幕中应该屏蔽卡号。

但另一位用户说具有更高权限的用户2(比如管理员),加载相同的客户端屏幕,然后他应该看到确切的卡号。

为了实现这一点,我们考虑使用Oracle 12C dbms_redact.add_policy的概念。

但是,Web应用程序只使用一个userId(在web.xml中,整个应用程序由一个用户连接到DB)来连接Oracle。 那么,要应用不同的掩码策略,我是否需要在web.xml中添加另一个用户,并且Web应用程序应该配置为动态连接不同的userId,以达到上述要求?

还有其他方式以更优雅的方式实现它吗?

2 个答案:

答案 0 :(得分:0)

Oracle redaction policies可以查看SYS_CONTEXT值,因此您可以根据用户在进行身份验证时的权限设置一个值吗?

答案 1 :(得分:0)

通过使用SYS_CONTEXT,您可以基于用户ID或角色等实现相同的功能。