Mesut Boztaş dan bir bilgitşk.Yetkilendirme malumunuzdur ki AX’ın en hassas kısımlarından biridir. Bir müşterimizde SecurityKey değeri olmadan Canlıya alınan bir form menüdeki ilgili klasörü ve menüyü otomatik olarak tüm kullanıcılara açmıştır. Daha sonra forma SecurityKey değeri verilse bile birkez açılan ana anahtarlar kapanmamaktadır. Eğer çok kullanıcı grubunuz ve etki alanınız varsa bu işlemi telafi etmek uzun sürecek bir işlemdir. |
02 | static void changeAccessRights(Args _args) |
03 | { |
04 | SecurityKeySet swSysSecurity; |
05 | UserGroupList userGroupList; |
06 | DomainInfo domainInfo; |
07 | #admin |
08 |
09 | ttsbegin; |
10 |
11 | while select domainInfo |
12 | //where domainInfo.id == #AdminDomain sadece belirli domainler için çalıştırmak istersen |
13 | { |
14 | while select userGroupList |
15 | where userGroupList.groupId != #AdminUserGroup |
16 | { |
17 | swSysSecurity = SysSecurity::constructSecurityKeySet(); |
18 | swSysSecurity.loadGroupRights(userGroupList.groupId, domainInfo.id); |
19 | swSysSecurity.secureNodeAccess("DRTCreateProdDemandsTable",UtilElementType::DisplayTool,AccessType::NoAccess); |
20 |
21 | xAccessRightsList::saveSecurityRights(swSysSecurity.packTouched(), userGroupList.groupId, domainInfo.id); |
22 |
23 | } |
24 | } |
25 |
26 | ttscommit; |
27 | info("tamamlandı"); |