我计划制作一个依赖于java(spring-spring mvc)rest API的小型移动应用程序。 API将具有如下所示的路径:
/ rest / account POST(将创建一个新帐户(帐户由用户名+密码+电子邮件组成)
/ rest / photo /例如修改行为并将内容添加到数据库......
我也计划使用Spring Security来处理身份验证/授权。 所以移动应用程序在进行任何授权调用之前(例如到/ rest / photo / like)它必须登录(所以基本上是/ security_check?j_username = username& password
从现在开始,每个请求都必须在cookie中包含JSESSIONID。
我的问题是,这足够安全吗?我必须使用OAUTH2吗?还是有点矫枉过正?
红利问题:由于您不需要通过身份验证来进行/ rest / account调用来创建帐户,避免用户创建1000000帐户的最佳方法是什么? 阿帕奇/ IP过滤器?或者我应该在spring-mvc的某个拦截器中处理这个?
答案 0 :(得分:1)
1)是的,根据您的要求说明,我会说Spring Security会做得很好。 (REST服务通常是无状态的,而不是使用会话,但Spring Security可以处理这两种情况。)
2)除非您想从用户的Google或Facebook帐户中提取信息,否则您不需要使用OAuth2。
3)奖金问题并非无足轻重。一种常见的方法是使用CAPTCHA。您可以使用OAuth将用户限制为他们拥有的每个Google / Facebook / X帐户的一个帐户。