The second SQL view I’m posting in this series is one which shows the user, the companies to which they have access and the security roles assigned within each company.
CREATE VIEW [dbo].[uv_AZRCRV_UserAccessAndGrantedSecurityRoles] AS
/*
Created by Ian Grieve of azurecurve|Ramblings of a Dynamics GP Consultant (https://www.azurecurve.co.uk)
This code is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales (CC BY-NC-SA 2.0 UK).
*/
SELECT
['User Master'].USERID AS 'User ID'
,['User Master'].USERNAME AS 'Username'
,['User Master'].USRCLASS AS 'User Class'
,ISNULL(['Class Master'].DSCRIPTN, '') AS 'User Class Description'
,ISNULL(['Company Master'].INTERID, '') AS 'Intercompany ID'
,ISNULL(['Company Master'].CMPNYNAM, '') AS 'Company Name'
,ISNULL(['Security Assignment User Role'].SECURITYROLEID, '') AS 'Security Role ID'
,ISNULL(['Security Roles Master'].SECURITYROLENAME, '') AS 'Security Role Name'
FROM
SY01400 AS ['User Master']
LEFT JOIN
SY40400 AS ['Class Master']
ON ['Class Master'].USRCLASS = ['User Master'].USRCLASS
LEFT JOIN
SY60100 AS ['User-Company Access']
ON ['User-Company Access'].USERID = ['User Master'].USERID
LEFT JOIN
SY10500 AS ['Security Assignment User Role']
ON ['Security Assignment User Role'].CMPANYID = ['User-Company Access'].CMPANYID
AND ['Security Assignment User Role'].USERID = ['User-Company Access'].USERID
LEFT JOIN
SY09100 AS ['Security Roles Master']
ON ['Security Roles Master'].SECURITYROLEID = ['Security Assignment User Role'].SECURITYROLEID
LEFT JOIN
SY01500 AS ['Company Master']
ON ['Company Master'].CMPANYID = ['User-Company Access'].CMPANYID
GO
GRANT SELECT ON uv_AZRCRV_UserAccessAndGrantedSecurityRoles TO DYNGRP
GO
2 thoughts on “Security Views For Use In SmartList Designer: User Access & Granted Security Roles”