Когда я смотрю в журнал SAS, есть 4 разные переменные для захвата пользователя:
_METAPERSON
_METAUSER
_SECUREUSERNAME
_USERNAME
Когда я проверяю журнал, все 4 переменные имеют одинаковое значение при выполнении процесса. Поэтому я создал процесс, который проверял _Metauser для определенного пользователя, чтобы только те пользователи, которых я хотел, могли что-то сделать. Но у моего коллеги была проблема, что в переменной хранилось не имя пользователя, сохраненное для него, когда он вызывал процесс, а имя пользователя@Контекст. В других трех переменных для него было сохранено только имя пользователя, поэтому, возможно, я смогу изменить его на одно из них. Я не могу использовать Metauser, потому что для некоторых людей может быть @Context после имени пользователя.
Нет, у меня проблема, какую переменную использовать? В чем разница между 4 переменными? Что использовать, чтобы быть уверенным, что я получаю только (и всегда) чистое имя пользователя, независимо от того, откуда и какую программу/версию пользователь вызывает процесс?
- На данный момент я использую Sas 9.3 и запускаю процесс через веб-сервис.
- Я пока переключился на SECUREUSERNAME, но я не уверен, что это может создать проблемы для других пользователей, на данный момент только 3 работают с этим процессом, но скоро их станет намного больше
- Наша концепция авторизации основана на метаданных, поэтому я думаю, что, возможно, мне следует использовать _Metaperson...