IBM MobileFirst: getActiveUser, getCurrentUserIdentity и строгая идентификация

Я пытаюсь получить идентификатор пользователя от адаптера и вижу, что в документации упоминаются два разных API, описания которых мне кажутся эквивалентными: getActiveUser и getCurrentUserIdentity.

Похоже, что первому в качестве параметра требуется область: https://stackoverflow.com/a/17018349/239408. Я не знаю о другом.

В документации также упоминается концепция строгой идентификации, которую я нигде не видел.

Должен ли я предпочесть один метод другому? Когда я должен ожидать, что у меня будет «сильная идентичность», а не вернется нуль?


person xverges    schedule 11.02.2015    source источник


Ответы (1)


Когда у вас есть несколько областей, каждая из них будет иметь идентификатор пользователя. например область, используемая для аутентификации пользователей, будет иметь userIdentity, который описывает свойства пользователя, т. е. имя пользователя, дату рождения, отображаемое имя. область, используемая для аутентификации устройств, будет иметь идентификатор пользователя, описывающий свойства устройства, т. е. идентификатор устройства, платформу, версию ОС и т. д. getActiveUser (область) предоставит вам идентификатор пользователя указанной области. если вы сделаете getActiveUser("wl_deviceNoProvisioningRealm"), вы получите идентификатор устройства (при условии, что вы используете wl_deviceNoProvisioningRealm).

API getCurrentUserIdentity() и getCurrentDeviceIdentity() построены на основе getActiveUser(). Вам не нужно явно указывать, какая область используется для идентификации пользователя и какая область используется для идентификации устройства, WL-сервер сделает это за вас, и вы автоматически получите userIdentity текущего пользователя и userIdentity текущего устройства.

person Anton    schedule 11.02.2015
comment
Спасибо, @Антон. Поэтому я буду использовать getCurrentUserIdentity(), и коду не нужно будет заботиться о содержимом authenticationConfiguration.xml, если он определяет некоторый тест безопасности с установленным isInternalUserID="true". Но меня все еще озадачивает описание в документации и его ссылки на сильную идентификацию. Не могли бы вы уточнить это? - person xverges; 11.02.2015
comment
просто игнорируйте сильное слово :) - person Anton; 12.02.2015
comment
:-) Спасибо, @Anton. Итак, могу ли я игнорировать как строгий, так и раздел между круглыми скобками из Если с пользователем не связано строгое удостоверение (пользователь прошел аутентификацию в этом сеансе или в предыдущем сеансе), метод возвращает значение null ? Потому что, если происходит то, что находится в скобках, я думаю, что у пользователя действительно есть связанная личность, не так ли? - person xverges; 12.02.2015
comment
null вернется, если пользователь не аутентифицирован. - person Anton; 12.02.2015
comment
Спасибо за ваше время. Я предполагаю, что документы нуждаются в некоторой очистке для этих двух методов. - person xverges; 12.02.2015