Nano Hash - криптовалюты, майнинг, программирование

Пользователь хранимого процесса, какую переменную использовать?

Когда я смотрю в журнал SAS, есть 4 разные переменные для захвата пользователя:

 _METAPERSON
 _METAUSER
 _SECUREUSERNAME
 _USERNAME

Когда я проверяю журнал, все 4 переменные имеют одинаковое значение при выполнении процесса. Поэтому я создал процесс, который проверял _Metauser для определенного пользователя, чтобы только те пользователи, которых я хотел, могли что-то сделать. Но у моего коллеги была проблема, что в переменной хранилось не имя пользователя, сохраненное для него, когда он вызывал процесс, а имя пользователя@Контекст. В других трех переменных для него было сохранено только имя пользователя, поэтому, возможно, я смогу изменить его на одно из них. Я не могу использовать Metauser, потому что для некоторых людей может быть @Context после имени пользователя.

Нет, у меня проблема, какую переменную использовать? В чем разница между 4 переменными? Что использовать, чтобы быть уверенным, что я получаю только (и всегда) чистое имя пользователя, независимо от того, откуда и какую программу/версию пользователь вызывает процесс?

  • На данный момент я использую Sas 9.3 и запускаю процесс через веб-сервис.
  • Я пока переключился на SECUREUSERNAME, но я не уверен, что это может создать проблемы для других пользователей, на данный момент только 3 работают с этим процессом, но скоро их станет намного больше
  • Наша концепция авторизации основана на метаданных, поэтому я думаю, что, возможно, мне следует использовать _Metaperson...
30.07.2015

Ответы:


1

Макропеременная _SECUREUSERNAME создается, когда сервер приложений выполняет хранимый процесс. Значение _SECUREUSERNAME содержит идентификатор клиента, и это значение будет записано в переменную макроса _USERNAME, если _USERNAME еще не содержит значения. В большинстве случаев значение _SECUREUSERNAME будет таким же, как _USERNAME.

_USERNAME Указывает значение имени пользователя, полученное при проверке подлинности веб-клиента.

_METAPERSON Указывает имя метаданных пользователя, связанное с переменной входа _METAUSER. Значение этой переменной может быть НЕИЗВЕСТНО. Эта переменная не может быть изменена клиентом.

_METAUSER Указывает имя пользователя для входа, которое используется для подключения к серверу метаданных. Эта переменная не может быть изменена клиентом.

На ваш вопрос нет простого ответа, потому что это зависит от вашей настройки. Должны ли ваши пользователи входить в систему с помощью Metaserver? Всегда ли доступ к вашему коду осуществляется с помощью WebService? Идентификаторы пользователей, что это такое, это идентификаторы из AD? Включен ли единый вход (SSO)? Как настраиваются идентификаторы в SAS? Используют ли люди доверенных пользователей для подключения?

С уважением, Василий

30.07.2015
  • Стандартный случай обращается к веб-службе SAS Stored Process через систему единого входа. Но также может быть ручная аутентификация на веб-сервисе (после тайм-аута или изначально для какого-либо пользователя), а в очень редких случаях также запуск процессов в EG. Мой коллега использует SSO, как и я, и у него точно такие же пользовательские настройки метаданных, поэтому странно, что @Context добавлен для Metauser. Он работает в другом отделе, значит там должно быть что-то про User-Settings, но он ничего не может сказать по этому поводу... 03.08.2015
  • Сейчас я буду использовать _SECUREUSERNAME, потому что это работает, я уже принял ваш ответ, но, возможно, вы можете добавить что-то о моем последнем комментарии. 03.08.2015
  • Что-то, что нужно уточнить (поймал меня сегодня): _METAUSER - это НЕ имя пользователя для входа в метаданные SAS, а на самом деле имя пользователя для входа в ОС. 05.01.2016
  • @rawfocus это ОС, когда вход в ОС используется на экране входа в систему SAS. Если бы вместо этого вы использовали удостоверение sas, оно подобрало бы имя пользователя SAS. 05.01.2016

  • 2

    Я использую _METAUSER. Теперь наши системы настроены на SSO, поэтому имя пользователя всегда без «@». Я использовал его и без единого входа, но затем мне пришлось использовать %scan(&_METAUSER,1,@), чтобы убрать часть @context.

    31.07.2015
  • Хм, мой коллега использует SSO и все равно получает часть @ (только для метапользователя). Опция сканирования была бы обходным путем, но я бы предпочел работать без некоторых дополнительных функций. 03.08.2015

  • 3

    Из тестирования в сеансе хранимого процесса в среде 9.2 (Windows) с единым входом:

    Имя пользователя ОС (в моем случае мой идентификатор Windows)

    • _METAUSER (при входе в систему с логином ОС, например, с SSO, см. комментарий @Vasilij Nevlev в принятом ответе)
    • _SECUREUSERNAME

    Имя пользователя SAS (в метаданных)

    • _METAPERSON – указывает имя пользователя в метаданных, связанное с переменной входа _METAUSER. Не знаю, как это может быть неизвестно, так как SMC не позволит вам ввести пустое значение. )
    • _USERNAME — определенно имя пользователя, так как вы можете использовать его вместе с _password в URL-адресе, чтобы обойти экран входа в систему SAS.
    05.01.2016
  • Полезно знать о входе через URL. +1. Кстати, вы получите другие результаты, если хранимый процесс запускается на сервере рабочей области. Это боролось со мной, когда я принудительно запускал сервер рабочей области. Безопасное имя пользователя становится (обрабатывается) для всех пользователей. 05.01.2016
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..