`
小于Brick
  • 浏览: 89761 次
  • 性别: Icon_minigender_1
  • 来自: 新疆
社区版块
存档分类
最新评论

grails3 通过拦截器配置跨域访问限制

阅读更多

通过设置header来实现的跨域访问。

 

app1为数据提供者

app2为数据调用者

 

app1中添加Api控制器和Api拦截器(Api 随便起的名字,控制器名和拦截器名称要相同,并且要放在同一个包下,拦截自动生效)

目录结构:

 

控制器:

class ApiController {

    def index() { }

    def aa(){
        println "request.remoteAddr:==="+request.remoteAddr
        println "request.remoteHost:==="+request.remoteHost
        println "request.remoteUser:==="+request.remoteUser
        println "request.remotePort:==="+request.remotePort
        println "params:"+params
        def res = [flag:true,status:200,params:params]
        respond res
    }
}

 

 

拦截器:

class ApiInterceptor {

    boolean before() {
        println "before::::=================="+params
        header( "Access-Control-Allow-Origin","*")// 这里的*注意一下允许所有人调用"http://local.test" )
        header( "Access-Control-Allow-Credentials", "true" )
        header( "Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE" )
        header( "Access-Control-Max-Age", "3600" )
        return true//这里返回true 随后会进入控制器中调用方法,返回false 不进入控制器,直接返回
    }

    boolean after() { true }

    void afterView() {
        // no-op
    }
}

 

 

app2中建一个gsp页面调用:

<!DOCTYPE html>
<html>
<head>
    <asset:javascript src="jquery-2.2.0.min.js"/>
    <script>
        $(function(){
            $("#btn1").click(function(){
                $('#test').load('http://app1.tch.com:8080/Api/aa.json?name='+$("#name").val());
            });
        });
    </script>
</head>
<body>
<h3 id="test">请点击下面的按钮,通过 jQuery AJAX 改变这段文本。</h3>
name:<input id="name" value="sss"/>
<button id="btn1" type="button">get获得外部的内容</button>
<hr/>
</body>
</html>

 

页面调用结果:

 

不建议在页面调用,这种方式相当于将数据暴露给全世界。最好加上认证。

分享到:
评论

相关推荐

    Grails3配置logback日志.pdf

    Grails3通过groovy语言的配置文件灵活地集成了logback的强大功能,使得开发者能够更加高效地控制和管理应用程序的日志输出。这种集成方式不仅让日志记录变得简单,还提供了强大的灵活性,对于开发和运维团队监控应用...

    grails 配置mongodb数据库

    在本文中,我们将深入探讨如何在Grails框架中配置MongoDB数据库,并实现用户登录系统。Grails是一款基于Groovy语言的、高效的Web应用开发框架,它借鉴了Ruby on Rails的许多优秀特性。MongoDB则是一种流行的NoSQL...

    Groovy和Grails配置方法

    通过上述步骤,我们已经完成了Groovy和Grails的基本安装和配置工作。Groovy和Grails的结合使用为开发者提供了一个高效且功能强大的开发平台,尤其是在Java平台上进行Web应用开发时更是如此。希望本教程能够帮助初学...

    grails3 CAS链接接数据库

    在Grails应用中创建用户、角色和权限的关系,并在控制器中根据用户的权限控制访问。 在压缩包文件的`cas链接数据库`中,可能包含了一些示例代码、配置文件或者教程文档,这些资源可以作为实现上述步骤的辅助材料。...

    Grails3配置单独的数据库properties.pdf

    本篇将详细介绍如何在Grails 3中配置单独的数据库properties,以便在开发过程中管理多个数据源,满足复杂的企业级需求。 首先,我们需要理解Grails中的数据源配置。默认情况下,Grails使用一个名为`dataSource`的主...

    grails项目配置

    **Grails项目配置详解** Grails是一个基于Java平台的开源Web应用框架,它采用Groovy语言,提供了MVC(Model-View-Controller)架构模式,简化了开发过程。本项目是一个关于Grails的演示示例,特别关注了数据模型的...

    Grails Grails Grails

    Grails的控制器通过拦截器链进行扩展,可以添加自定义的行为和过滤逻辑。 **Grails 的核心特性** 1. **自动化配置和约定优于配置**:Grails 提供了许多默认配置,例如数据库连接、URL映射等,开发者只需按照约定...

    Grails 的过滤器(Grails Filters)

    通过合理地利用 Grails 过滤器,开发者可以有效地编写出整洁、可维护的代码,同时提高应用的安全性和性能。 总结来说,Grails 过滤器是 Grails 框架中一种强大的工具,它们提供了一种优雅的方式来处理应用程序的...

    eclipse下的开发Grails项目的环境配置与项目部署

    通过以上步骤,你已经在Eclipse中成功配置了一个基本的Grails开发环境,现在可以开始创建、编辑和调试Grails项目了。记得定期更新Grails插件和Eclipse本身,以获取最新的功能和修复已知问题。在开发过程中,如果遇到...

    grails.2.5.1 环境

    grails.2.5.1 环境,适用于Windows下Grails开发,具体配置请参照https://jingyan.baidu.com/article/86fae3461af6cf3c49121a91.html

    Grails 3开发邮件发送功能

    整体来看,Grails 3开发邮件发送功能需要对邮件发送协议和Grails框架有一定的了解,同时,还需要对配置文件和控制器编程有一定的熟悉。通过上述步骤和注意事项的遵循,可以较为高效地在Grails 3项目中集成邮件发送...

    Eclipse下搭建Grails项目

    注意,尽管Eclipse对Grails的支持相比IntelliJ IDEA和NetBeans可能稍显不足,但通过Groovy Eclipse插件的配置,开发者依然能在Eclipse中高效地进行Grails开发。不断更新插件和学习最佳实践将有助于提升开发体验。

    grails 开发框架-3

    grails1.0开发框架3 类似于ruby on rails的框架。

    grails快速开发web

    - **成功案例**:展示了 Grails 在实际项目中的应用效果,如使用 Grails 开发的富文本编辑器等。 - **性能对比**:通过测试证明 Grails 的性能远超过 Ruby on Rails。 #### 七、未来展望 - **Groovy 与 Java 7**:...

    eclipse开发grails插件

    3. **配置Grails环境**:安装插件后,需要在Eclipse中配置Grails的路径,这样Eclipse才能找到Grails命令行工具。这通常在"Eclipse Preferences" -&gt; "Grails"中设置。 4. **创建Grails项目**:现在,你可以通过...

    grails配置手册

    grials Install if you want to Install grails tools ,you can look at it .i would it can help you

    eclipse插件grails(groovy)

    Eclipse 插件 Grails(Groovy)是一个强大的开发工具,它...通过配置插件和环境,你可以利用Groovy的灵活性和Grails的高效框架,轻松构建Web应用程序。无论是新手还是经验丰富的开发者,都能从中受益,提升开发效率。

Global site tag (gtag.js) - Google Analytics