如何保护我在Rest框架中创建的Restful api
问题描述:
我想将用户认证添加到我使用基于Java的Play创建的restful api!框架。如何保护我在Rest框架中创建的Restful api
我现在有基于Web的(浏览器访问)应用程序中使用的“安全模块”详细这里保证:http://www.playframework.org/documentation/1.1/secure
我可以使用身份验证时,RESTful API中通过HTTP请求直接调用同一个模块?
如果不是的话,我将不胜感激指南教程/模块集成另一个auth方法(希望可以适用于从浏览器的Web应用程序访问和http api访问)。
PS如果可能,避免进行HTTPS和摘要会很好。
答
如果您已经在使用用户名/密码机制,为您的API调用添加http基本身份验证应该不困难。你可以创建一个具有类似的拦截:
public class ApiInterceptor extends Controller
{
@Before
static void checkAccess() {
if (request.user == null || request.password == null) {
unauthorized();
}
boolean canAccess = .... ;// check user and password here
if (!canAccess) {
unauthorized();
}
}
}
但这意味着你需要使用SSL,因为用户名和密码通过HTTP明文去。
我确实使用SSL,所以基本的验证码运行良好。谢谢。 – DEzra 2013-02-03 14:38:04