Thursday, November 23, 2017

RLS & XDS in DAX


Difference Between RLS & XDS

Record Level Security(RLS):
RLS was only a filter on forms. When you have two or more roles with the same table you need to apply id on all roles. When you access the table from outside AX (e.g. business connector), there was no filter applied.
Extensible Data Security(XDS): XDS adds statements to queries on AOS level. So the data will be filtered if you have defined multiple roles where only one role has an XDS policy.

XDS reference steps link: https://www.dynamics101.com/implementing-role-based-extensible-data-security-xds-policies-in-microsoft-dynamics-ax-2012/


XDS:

XDSServices  xdsServices = new XDSServices();
str getSQLxds;
;
xdsServices.setXDSState(0); //Disable XDS

xdsServices.setXDSState(1); //Enable XDS

//To Get XDS policy name(Restricted data) and defined Query from Table name as input)

getSQLxds = xdsService.getTableSQL("TableNum");
info(getSQLxds);

No comments:

Post a Comment

Convert Call stack to readable format in D365FO X++

//Input --container _xppCallStack = xSession::xppCallStack();  Public static str POL_formatXppCallStack(container _xppCallStack, int _skipFr...