delphi - 使用按角色过滤的 View Firebird

标签 delphi view firebird user-roles firebird2.5

我有表 tbl_projects带字段 "role" .我想使用这个字段作为参数来过滤每个用户可以访问的数据。示例:我是 HR(我的角色)的员工,我看不到 IT(其他角色)的项目。

我的应用程序使用 OSAuth。如何在 firebird 中构建一个 View 来过滤基于所有角色的数据?

示例:此 View 仅过滤“HR”角色。我需要过滤所有角色。

CREATE OR ALTER VIEW HR_PROJECTS_VIEW(
    (_other_fields_)
    "ROLE")
AS
select
    P.(_other_fields_)
    P.ROLE
from 
    TBL_PROJECTS P
where 
    P.ROLE = 'HR';

最佳答案

使用 CURRENT_ROLE 上下文变量:

CREATE OR ALTER VIEW HR_PROJECTS_VIEW(
...
where 
    P.ROLE = CURRENT_ROLE;

关于delphi - 使用按角色过滤的 View Firebird ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17888966/

相关文章:

sql - 检查 SQL 有向图中的双向性

delphi - 使用 FireDAC 连接到嵌入式 Firebird 2.5

delphi - 如何在我的 Delphi 应用程序中使用嵌入式 Firebird

delphi - FastMM:分配的总内存

Delphi (Pascal) 检查每个字段是否赋值

visual-studio - 有什么方法可以将项目分组到项目管理器的文件夹中吗?

android - 使组件填充屏幕上的所有可用空间

database - 如何使用ADT表重试Delphi TAdsConnection

android - android中有定时器功能吗? (不是 java.util.Timer)

animation - 无法将 React Native Animated 值设置为 View 组件 CSS 样式