odoo开发笔记 -- 提高访问安全性的一种方式

场景描述:

最近在做项目的过程中,需要需要将odoo应用集成到其他系统中,

在对方的系统中点击我们的应用,打开对应系统,但是界面不做跳转,在当前页面打开,并且浏览器地址栏只显示IP+应用名,不让显示odoo中的action_id及menu_id等其他信息!

如何实现?

我们先来看下,odoo程序我们在浏览器访问时,通常的地址栏信息:IP+端口/web.........各种id

http://192.168.1.188:8069/web#min=1&limit=80&view_type=list&model=purchase.order&menu_id=216&action=319

当前项目集成要求我们实现如下效果:域名/应用名

http://www.xxx.com/new_app

待会我们再说具体如何实现!

假设我们可以实现,是不是就相当于,隐藏了odoo的一些信息,一定程度上提高了应用的安全性!

例如:视图ID,数据库网页管理访问,debug开发者模式等。。。

实现步骤:

具体不难,我们换个思路,部署的时候,宿主机用tomcat起web服务(ubuntu离线部署tomacat&jdk参考),然后将你的应用名,如new_app 放在webapps中,新建一个index.html静态页面,

在静态页面中,通过ifram嵌入我们的实际odoo服务地址,就可以了!!!

index.html代码样例:

<html>
    <head>
      <meta charset="utf-8" />
      <title>应用名称</title>
    </head>
    <body>
        <iframe frameborder="0" name="Iframe1" src="http://192.168.1.188:8069" width="100%" height="100%"/>
    </iframe>
    </body>
</html>

启动tomcat后,浏览访问下8080端口:

http://192.168.1.188:8080/new_app

如此我们就实现了第一步!

接着通过nginx反向代理的方式,将对方系统域(www.xxx.com)名代理到我们的应用地址(http://192.168.1.188:8080/new_app),最终实现通过访问如下地址进入我们系统:

http://www.xxx.com/new_app

试试吧!

 

posted @ 2019-09-17 17:47  hello-Jesson  阅读(606)  评论(0编辑  收藏  举报