|  27.02.2007, 16:19 | #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); } ) не помогло ... :-( | 
|  | 
|  27.02.2007, 16:23 | #2 | 
| NavAx | 
			
			Это не помогло Повторный логин без перезапуска аксапты ?
		 | 
|  | 
|  27.02.2007, 16:29 | #3 | 
| Дмитрий Ерин | 
			
			Сначала ламерский вопрос (а то лень искать   ) - а что делает xSession.newUser('a2', '') ? По существу вопроса: по идее права должны примениться при смене компании (то есть как версия - что-то типа: X++: changecompany(curext()) | 
|  | 
|  27.02.2007, 16:34 | #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); | 
|  | 
|  27.02.2007, 16:40 | #5 | 
| Дмитрий Ерин | Цитата: Хотя не стану спорить, что приведенный выше код, возможно, более корректен в общем случае. ЗЫ: сам ничего не проверял, все вышесказанное - предположения   | 
|  | 
|  27.02.2007, 16:53 | #6 | 
| Участник | 
			
			2 raz Спасибо за ссылку - попробовал - пока не помогает ... :-( (продолжаю пробовать дальше ...) | 
|  |