2016-05-20 3 views
0

Я довольно новичок в обеспечении безопасности весной, и я не знаю, как искать такую ​​функциональность. Моя проблема. Я аутентифицирую пользователя с весной безопасности. Скажем, с помощью auth. Таким образом, пользователь вошел в систему. Он может перемещаться по приложению. Предположим, у нас есть webapp, который хранит транзакции в db и извлекает их по id. Если мы хотим увидеть детали транзакции, мы отправим запрос с идентификатором транзакции. Так, например,/transaciontapp/gettransaction? Id = 134. На предыдущей странице приложение загрузило транзакцию, принадлежащую этому конкретному пользователю. Но теперь я могу отредактировать ссылку на любой идентификатор, и с помощью метода get, являющегося зарегистрированным пользователем, я могу видеть транзакцию, которой я не обязан. Итак, в весенней безопасности, как я могу справиться с этим, чтобы ограничить определенный контент определенными пользователями?Какая особенность я могу запретить пользователям получать доступ к определенному контенту весной безопасности

ответ

1

Я хочу предложить вам прочитать official Spring Security Reference, чтобы получить общую идею, о том, что такое Spring Security.

Отправной точкой является просто добавление его в ваш проект, например. используя Gradle, добавив зависимость compile('org.springframework.boot:spring-boot-starter-security'). Следующим шагом будет создание для него класса конфигурации. Это включает в себя то, как аутентификация должна работать для вашего проекта.

@EnableWebSecurity 
public class SecurityConfiguration extends WebSecurityConfigurerAdapter { 
    // your rules 
} 

Эти правила определяют, как подойти тем, как

  • Технически: например, HTTP Basic Auth, Токен основе, Cookie основе, форма на основе
  • Где учетные данные хранятся: в памяти, реализация пользовательских UserDetailService
  • Добавление фильтров для HTTP запросов
  • Настройки для управления сеансами
  • правил для различных маршрутов; Что защищать как? Анонимный вход? Роли?
  • Проблемы безопасности, как Cross Site Request Подделка или Cross Origin Запрос стратегии

Пожалуйста, прочтите документацию и увидеть много других вопросов, связанной с переполнением стека относительно Spring Security, прежде чем задавать такой основной.