2014-12-30 3 views
1

Я планирую сделать небольшое мобильное приложение, которое будет опираться на API-интерфейс java (spring-spring mvc) rest. API-интерфейс будет иметь пути, которые выглядят, как это, например:Обеспечение безопасности REST Api с весной Безопасность достаточно?

/отдых/POST счет (будет создать новую учетную запись (счет состоит из имени пользователя + пас + электронная почта)

/отдых/фото/как например, что модифицирует поведение и добавляет вещи в базу данных ...

Я также планирую использовать Spring Security для обработки аутентификации/авторизации. Итак, перед тем как сделать любой авторизационный вызов (например, rest/photo/like), он должен будет войти в систему (поэтому в основном для/security_check? j_username = имя пользователя & пароль

И отныне каждый запрос должен включать JSESSIONID в файл cookie.

Мой вопрос: достаточно ли этого достаточно? Должен ли я использовать OAUTH2? Или это слишком сложно?

Вопрос о бонусе: поскольку вам не нужно проходить аутентификацию, чтобы сделать вызов/rest/account для создания учетной записи, что является лучшим способом избежать того, что пользователь создает 1000000 учетных записей? Apache/ip-фильтр? Или я должен справиться с этим в каком-то перехватчике весной-mvc?

ответ

1

1) Да, из ваших требований описание Я скажу, что Spring Security будет хорошо. (REST услуга, как правило, лица без гражданства, а не использовать сессии, но Spring Security может работать как.)

2) Вам не нужно использовать oauth2, если Вы не хотите получать информацию от пользователя учетной записи Google или Facebook, или что-то вроде что.

3) Вопрос о бонусе не является тривиальным. Обычный способ - использовать CAPTCHA. Вы можете использовать OAuth, чтобы, например, ограничить пользователя одной учетной записью для каждой учетной записи Google/Facebook/X, которую они имеют.