|
|
|
|
#1 |
|
Участник
|
Сброс данных при логине
Привет.
1. текущий пользователь а1 имеет доступ к функциональности и hasSecuritykeyAccess(securityKeyNum(sk1)) возвращает true; 2. пользователь а2 не имеет доступа к этой функциональности и если войти под ним в систему hasSecuritykeyAccess(securityKeyNum(sk1)) возвращает false; 3. если зайти в систему как а1 и выполнить xSession.newUser('a2', ''), то теоритически hasSecuritykeyAccess(securityKeyNum(sk1)) должен вернуть false - практически возвращает true. Вопрос - как сбросить откешированные данные? (пробовал Dictionary::loginSettingsFlush(); Dictionary::dataFlush(); Dictionary::aodFlush(); if (logIn) { globalCache = SysGlobalCache::construct(); classFactory.parmGlobalCache(globalCache); } ) не помогло ... :-( |
|
|
|
|
#2 |
|
NavAx
|
Это не помогло Повторный логин без перезапуска аксапты ?
|
|
|
|
|
#3 |
|
Дмитрий Ерин
|
Сначала ламерский вопрос (а то лень искать
) - а что делает xSession.newUser('a2', '') ?По существу вопроса: по идее права должны примениться при смене компании (то есть как версия - что-то типа: X++: changecompany(curext()) |
|
|
|
|
#4 |
|
Участник
|
Цитата:
Description This method facilitates logging on a different user for the current session without terminating the Axapta session. It returns true when the new login was successful, false otherwise. Цитата:
Думаю пробовать надо в направлении ссылки raz: X++: xAppl.setDefaultCompany(userInfo.company);
SysSecurity::reload(false); |
|
|
|
|
#5 |
|
Дмитрий Ерин
|
Цитата:
Хотя не стану спорить, что приведенный выше код, возможно, более корректен в общем случае. ЗЫ: сам ничего не проверял, все вышесказанное - предположения
|
|
|
|
|
#6 |
|
Участник
|
2 raz Спасибо за ссылку - попробовал - пока не помогает ... :-(
(продолжаю пробовать дальше ...) |
|
|