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

Используйте Liferay для аутентификации пользователей из отдельного автономного приложения

Я пытаюсь настроить свое автономное веб-приложение для использования Liferay 6.2 в качестве «хранилища пользователей». Это означает, что я хочу, чтобы пользователь вошел в Liferay, а затем смог перейти к другому приложению, передав некоторые учетные данные и информацию о пользователе. Перемещение и передача информации уже работают, проблема, с которой я сейчас сталкиваюсь, заключается в том, чтобы убедиться, что переданный пользовательский объект является пользователем, который фактически вошел в систему прямо сейчас.

Я использую файл cookie LFR_SESSION_STATE_, который определяет зарегистрированного пользователя. Но когда я снова вхожу в систему с другим пользователем, я получаю второй файл cookie с другим идентификатором пользователя. Итак, теперь мне нужно убедиться, что я передаю правильного пользователя. Файл cookie USER_UUID не содержит того же идентификатора uuid, который предоставлен Liferay (на данный момент я не проверял, является ли это хешем идентификатора uuid).

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

Впоследствии я позабочусь о таких проблемах безопасности, как использование файлов cookie и т. Д. Может быть, это поднимет еще один вопрос, когда я доеду до этого момента ;-)

Я бы действительно приветствовал любую помощь или толкнул в правильном направлении. Заранее спасибо, ребята ... Себастьян

05.06.2014

Ответы:


1

Некоторые возможности:

  • Сделайте свое приложение приложением с портлетом
  • Опубликуйте свою базу данных Liferay через LDAP (только EE) и используйте отдельный единый вход применение
  • Создайте Liferay-Hook, который устанавливает cookie (на "/"), содержащий необходимую информацию о пользователе - шифрование и подписи находятся на вас. Вы можете создавать хуки, которые выполняются при каждом успешном входе в систему
06.06.2014
  • Спасибо за вашу помощь. Идея создания крючка была очевидной, но, тем не менее, блестящей. Не приходило мне в голову и в основном решил мою проблему. Еще один вопрос, если можно: знаете ли вы, могу ли я удалить файлы cookie с другого пути? Поскольку мой хук работает в liferay, мой путь - /. Знаю, что я хочу завершить сеанс другого приложения с другим путем / someapp при выходе из системы. Вы знаете, могу ли я это сделать и как? Я попытался установить MaxAge = 0 для этого конкретного файла cookie, но он не был удален. Моя ошибка или какая-то защита, чтобы избежать случайного удаления файлов cookie, принадлежащих другим приложениям? Танки 11.06.2014
  • maxAge = 0 должен помочь, проверил здесь stackoverflow.com/questions/890935 - вы можете отслеживать http-трафик (например, с сетевым монитором firebug), чтобы увидеть, не мешает ли сервер приложений вам управлять файлами cookie на пути, который, как предполагается, находится под контролем другого веб-приложения. Хуже всего то, что вам может понадобиться какой-нибудь тупой http-редирект на это приложение и удалить его оттуда. Не очень красиво, но если это способ решает проблему ... (попробуйте сначала проверить заголовки http) 12.06.2014
  • Новые материалы

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

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

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

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

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

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

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