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
试试吧!
odoo开发笔记 -- 提高访问安全性的一种方式的更多相关文章
- odoo开发笔记 -- 模型(类)继承的几种机制
1. 类继承 2. 原型继承 3. 委托继承 待完善 https://www.cnblogs.com/chenshuquan/p/10523626.html
- odoo开发笔记 -- div标签代替odoo button写法
odoo开发笔记 -- div标签代替odoo button写法 并调用自定义js <footer> <div id="confirm_request_cloud_repo ...
- odoo开发笔记 -- 搜索视图继承扩展
odoo开发笔记 -- 搜索视图继承扩展
- odoo开发笔记 -- 后台日志输出及分析
odoo开发笔记 -- 后台日志输出及分析 附:日志分析软件
- 怎样在Android开发中FPS游戏实现的两种方式比较
怎样在Android开发中FPS游戏实现的两种方式比较 如何用Android平台开发FPS游戏,其实现过程有哪些方法,这些方法又有哪些不同的地方呢?首先让我们先了解下什么是FPS 英文名:FPS (F ...
- Servlet访问路径的两种方式、Servlet生命周期特点、计算服务启动后的访问次数、Get请求、Post请求
Servlet访问路径的两种方式: 1:注解 即在Servlet里写一个@WebServlet @WebServlet("/myServlet") 2:配置web.xml < ...
- JPA访问数据库的几种方式
JPA访问数据库的几种方式 本文为原创,转载请注明出处:https://www.cnblogs.com/supiaopiao/p/10901793.html 1. Repository 1.1. 通过 ...
- odoo开发笔记 -- 数据库备份策略
odoo默认的数据库为postgresql数据库, PG是个非常强大的数据库,也是未来的一个趋势. 对于odoo的数据备份,odoo提供了自己的备份方式, 1. 从前台页面.输入odoo应用访问地址, ...
- odoo开发笔记--日期or时间字段给定默认值
开发中经常有这样的场景,需要给某个日期或者时间的字段默认值: 例如: 日期,默认今天 时间,默认当前时间 可以在odoo模型定义中进行设置, 如下样例提供参考: test_data = fields. ...
随机推荐
- pandas 之 字符串处理
import numpy as np import pandas as pd Python has long been a popular raw data manipulation language ...
- Flask的上下文管理
flask上下文管理 1.运用的知识点 val = threading.local() def task(arg): #threading.local() val.xxx=123 #内部,获取当前线程 ...
- php fsockopen()方法,简化,异步非阻塞调用
介绍在项目中遇到一个问题,就是php是同步的读取下来的,如果一个方法请求的时间长了一点, 那么整个程序走下去将会遇到阻塞,现在我想触发这个方法,但是又不影响我下下面的程序正常的走下去.查了一上午的方法 ...
- eval用法
在shell的学习中,我们会遇到这两种符号:反引号(` `)和$(),那么它们之间有什么区别和联系呢? 我们都知道在bash中,反引号和$()都是用来做命令替换的,命令替换就是用来重组命令行,先完成引 ...
- kubernetes集群证书过期之后--转发
步骤 如果有多master,需要在每个master上进行以下操作. 需要进行以下步骤 重新生成证书 重新生成对应的配置文件 重启docker 和 kubelet 拷贝kubectl 客户端文件 [ro ...
- PAT 乙级 1002.写出这个数 C++/Java
1002 写出这个数 (20 分) 题目来源 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值.这里保证 n ...
- httprunner学习10-测试报告ExtentReport
前言 httprunner默认生成的报告不怎么美观,里面还有第二套报告模板extent_report_template.html. extent_report_template 使用 hrun -h ...
- 为什么使用正则RegExp.test( )方法时第一次是 true,第二次是false?
今天朋友问我一个问题,我现在需要多次匹配同一个内容,但是为什么我第一次匹配,直接是 true,而第二次匹配确实 false 呢? var s1 = "MRLP"; var s2 = ...
- CMDS目的端数据库碎片整理记录
CMDS目的端数据库碎片整理记录 看看数据库里面需要做整理的表有哪些,条件可以根据需求稍微改动一下 SQL> select * from ( 2 select a.owner, 3 a.tabl ...
- [Javascript] ES6 Class Constructors and the Super Keyword
When the ES6 class shipped back in 2015, a number of additional keywords came with it. Two of these ...