如何通过安全层访问grails中的webservice

时间:2013-04-09 06:11:02

标签: web-services rest grails spring-security jsonp

我在控制器类中有简单的方法。

Class TrainingController{

    def getTrainingsJson(){
          def trainingList  = Training.list()
          println "called===="
          //render trainingList as JSON
          render "${params.callback}(${trainingList as JSON})"
    }
}

获取培训列表,在我的HTML页面中,我请求如下

<script type="text/javascript">
        $(function(){

             $.getJSON('http://localhost:8080/training/getTrainingsJson?callback=?',            
              function(data) {
               console.log("success");
               alert(data);
             });

        });
    </script>

请求仅在登录后提供。如果没有登录,响应将是登录页面HTML格式。

请求跨越服务器(从php到grails)。 我想确保必须建立安全通信,那么如何进行身份验证 通过json使用grails中的spring security。

如何确保没有人能够伪造请求并从服务器获得响应。

并且需要遵循REST或者我可以在现有控制器中编写方法吗?或者我是否需要为此类请求创建单独的控制器/服务。

1 个答案:

答案 0 :(得分:1)

如果所有访问都是通过浏览器进行的,那么Spring身份验证将负责处理 - 只需相应地保护URL。所有请求(包括ajax)都将通过spring auth

防止窥探考虑实施SSL

Spring Security插件docs提供了有关保护应用程序的更多信息。特别是关于身份验证,IP地址限制和会话固定预防的阅读