Безопасность Spring MVC на основе атрибута сеанса - PullRequest
0 голосов
/ 13 октября 2010

Я использую схему безопасности, основанную на атрибутах сеанса.Я знаю, что у Spring есть Acegi Security, но у меня не так много времени, чтобы изучить этот модуль.Я просто хочу поделиться этим для получения комментариев.

Псевдокод похож на это.

  1. При успешном входе в систему я устанавливаю атрибут в сеансе пользователя.Объект, который я помещаю в качестве атрибута сеанса, представляет собой простой javabean с картой привилегий.

    public class UserInfo {public String getRole () {};public Map checkPrivilege () {};// методы получения и установки}

  2. Атрибуты сеанса также содержат роль пользователя.(Он может быть пользователем / гостем / администратором / супер-администратором).Теперь существуют определенные привилегии, которые авторизованы для пользователя.

Для моего JSP я просто проверяю сеанс пользователя на предмет его роли и привилегий.

Мой грубый коднапример, используя JSTL

IF (User Info in Session is 'User' and has this privilege)
    Add Button is shown
Else
    No Add Button is shown.

У меня есть следующие вопросы:

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

1 Ответ

1 голос
/ 13 октября 2010

Атрибуты сеанса хранятся только на стороне сервера, так что да, они безопасны.

Нет проблем с размещением этих идентификаторов безопасности в атрибутах сеанса с точки зрения безопасности. Но это легкая часть безопасности веб-приложений! Самая сложная часть - остальная часть инфраструктуры безопасности, о которой я обеспокоен тем, что вы еще не подумали.

Я рекомендую вам изучить Spring Security.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...