UFN_SECURITY_APPUSER_GRANTED_SMARTQUERY_IN_NONRACROLE

Returns true if the given user has permissions to the smart query in a role that has no constituent security defined.

Return

Return Type
bit

Parameters

Parameter Parameter Type Mode Description
@APPUSERID uniqueidentifier IN
@SMARTQUERYCATALOGID uniqueidentifier IN

Definition

Copy


            CREATE function dbo.UFN_SECURITY_APPUSER_GRANTED_SMARTQUERY_IN_NONRACROLE
            (
            @APPUSERID uniqueidentifier,
            @SMARTQUERYCATALOGID uniqueidentifier
            )
            returns bit as

            /*
            Returns true if the given user has permissions to the given smart query
            in a role whose security group is blank

            This function is optimized for use from a smart query TVF.

            As such, it assumes that a check for DENY occurs outside this function
            and also assumes that a check for if the user is ISSYSADMIN occurs outside 
            this function.  
            */


            begin
            --If user granted permission to the feature in a role with no ringfence then 

            --the user has permission regardless of the record in question.

            if exists
                (
                    select 
                        1 
                    from 
                        dbo.V_SECURITY_SYSTEMROLEASSIGNMENT_USER_SMARTQUERY as SV
                    where 
                        SV.APPUSERID = @APPUSERID AND 
                        SV.SMARTQUERYCATALOGID = @SMARTQUERYCATALOGID AND 
                        SV.GRANTORDENY = 1 AND 
                        SV.RECORDSECURITYMODE = 0
                )
             return 1;

            return  0;

            end