如何保护我在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明文去。

+0

我确实使用SSL,所以基本的验证码运行良好。谢谢。 – DEzra 2013-02-03 14:38:04