Как я получаю Объект Сессии в Spring?

Я думаю, что обычно существует хороший способ определить исключения на основе доступа к ресурсам, целостности данных и законности данных.

Исключения Доступа

  • Создание или соединение с любым видом соединения (удаленный, локальный).
    • Происходит в: Базы данных, Дистанционная работа
    • Причины: не существующий, Уже используемые или Недоступные, Недостаточные/Недопустимые Учетные данные
  • Открытие, Чтение или Запись в любой вид ресурса
    • Происходят в: Файловый ввод-вывод, База данных
    • Причины: Заблокированные, Недоступные, Недостаточные/Недопустимые учетные данные

Целостность Данных

  • могла быть многими случаями, где целостность вопросов данных
    • , На что это ссылается, что это содержит...
    • Ищут ресурсы на методах или коде, который требует, чтобы ряд критериев данных был чистым и в допустимом формате.
    • Пример: Попытка проанализировать строку со значением 'bleh' к числу.

Законность Данных

  • действительно ли это - корректные обеспеченные данные? (Это находится в правильном формате, но это не мог бы быть корректный набор параметров для данной ситуации)
    • , Происходит в: Запросы Базы данных, Транзакции, веб-сервисы
    • Пример: Представление строки к базе данных и нарушению ограничения

, Очевидно, существует другие случаи, но они обычно - те, я пытаюсь соблюдать где его необходимое.

82
задан Andremoniy 9 February 2017 в 10:03
поделиться

1 ответ

perl -lape 's/^\s+|\s+$//g'

Честно говоря, я лучше всех знаю регулярные выражения Perl, поэтому считаю, что perl -lape намного проще в использовании, чем sed -e .

Также , чтобы ответить на исходный вопрос, вы можете заставить sed выполнить несколько таких операций:

sed -e 's/something/something else/' -e 's/another substitution/another replacement/'

Очевидно, вы также можете поместить две подстановки в одну строку и разделить их точкой с запятой, как указано в другом ответе.

но если вы используете другую веб-платформу, вы должны добавить org.springframework.web.filter.RequestContextFilter в качестве фильтра в ваш web.xml для управления держателем.

ИЗМЕНИТЬ. : я не уверен, что вам нужен доступ к HttpSession в методе retieveUser из в качестве побочного вопроса, что вы на самом деле пытаетесь сделать. UserDetailsService . Безопасность Spring поместит объект UserDetails в сеанс любым способом. Его можно получить, обратившись к SecurityContextHolder :

public static UserDetails currentUserDetails(){
    SecurityContext securityContext = SecurityContextHolder.getContext();
    Authentication authentication = securityContext.getAuthentication();
    if (authentication != null) {
        Object principal = authentication.getPrincipal();
        return principal instanceof UserDetails ? (UserDetails) principal : null;
    }
    return null;
}
129
ответ дан 24 November 2019 в 09:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: