Forum Discussion
SPI
El requisito es filtrar la tabla DATA_TABLE en función de valores de columna específicos de la tabla USER_FILTERS para cada usuario que haya iniciado sesión. El filtrado debe basarse en varios atributos, Utilice la seguridad de nivel de fila (RLS) con USERPRINCIPALNAME() para filtrar los datos en función del usuario que ha iniciado sesión Haga coincidir la columna USERNAME de la tabla USER_FILTERS con el USERPRINCIPALNAME() del usuario que ha iniciado sesión.
Vamos a desglosarlo:
Si un valor es NULL o ALL:
El usuario debe ver todos los datos de ese atributo.
En otras palabras, si el valor del filtro es NULL o ALL, el usuario debe tener ACCESO SIN RESTRICCIONES a todos los valores de ese atributo.
Si se especifica un valor:
El usuario solo debe ver el VALOR ESPECIFICADO para ese atributo.
En otras palabras, si se proporciona un valor de filtro específico, el usuario solo debe tener ACCESO A ESE VALOR ESPECÍFICO para ese atributo.
Para ilustrar esto, consideremos un ejemplo:
Supongamos que tenemos un atributo llamado "LOB" (Line of Business). Si el valor de filtro para LOB es:
NULL o ALL, el usuario debe ver TODOS los valores de LOB (por ejemplo, LOB1, LOB2, LOB3, etcétera).
"LOB1", el usuario solo debe ver los datos de LOB1 y no los de ningún otro valor de LOB.
Existe una relación inactiva de varios a varios entre FILTERS y DATA_TABLE en esos atributos.
Usando a continuación, filtra, pero cuando combino todos los atributos del filtro, no funciona, veo en blanco o todos los valores.
2 Replies
- Syndicate_Admin
Administrator
Hola , @Rango21007 RSL puede ser complicado y debe verificarse con diferentes roles, así que consulte el enlace con un ejemplo. Espero que esto ayude
- Syndicate_Admin
Administrator
¡La vida no funciona! Pero gracias por compartir.