通过HTTP远程用户进行身份验证
odoo13-addon-auth-from-http-remote-user的Python项目详细描述
来自HTTP远程用户的身份验证
此模块通过在中查找字段HTTP_REMOTE_USER来初始化会话 HTTP请求的标头,并尝试将给定值绑定到用户。 要激活该模块,必须在预期的数据库中安装并加载该模块 启动时;将–load参数添加到startup命令:
--load=web,auth_from_http_remote_user, ...
如果在标头中找到该字段,并且没有用户与给定的用户匹配,则 系统发出登录错误页面。(401未经授权)
配置
该模块允许与外部安全系统[1]集成,后者可以通过 通过HTTP头的远程用户身份验证。在许多方面 在这种情况下,这是通过服务器实现的,比如apachehttpd或nginx代理Odoo。在
重要的
当用Apache或nginx代理Odoo服务器时 重要的是,在 请求由代理处理以避免安全问题。在阿帕奇你 可以通过在虚拟主机中使用RequestHeader指令来完成 剖面
^{pr2}$如何使用Apache测试模块[2]
Apache可以用作反向代理,提供身份验证和添加 Http标头中的必需字段。在
安装apache:
$ sudo apt-get install apache2
通过将新文件放入 /etc/apache2/可用站点:
$ sudo vi /etc/apache2/sites-available/MY_VHOST.com
包括以下内容:
<VirtualHost *:80> ServerName MY_VHOST.com ProxyRequests Off <Location /> AuthType Basic AuthName "Test Odoo auth_from_http_remote_user" AuthBasicProvider file AuthUserFile /etc/apache2/MY_VHOST.htpasswd Require valid-user RewriteEngine On RewriteCond %{LA-U:REMOTE_USER} (.+) RewriteRule . - [E=RU:%1] RequestHeader set Remote-User "%{RU}e" env=RU </Location> RequestHeader unset Remote-User early ProxyPass / http://127.0.0.1:8069/ retry=10 ProxyPassReverse / http://127.0.0.1:8069/ ProxyPreserveHost On </VirtualHost>
重要的
RequestHeader指令用于添加Remote User http头中的字段。默认情况下,'Http-'前缀添加到 字段名称。 在Odoo中,头的字段名被规范化。因此 规范化时,“Http Remote User”可用作“Http_Remote_User”。 如果你不知道你的指定字段是如何被Odoo看到的,运行 激活模块并查找条目后,服务器处于调试模式 比如:
DEBUG openerp1 openerp.addons.auth_from_http_remote_user.controllers. session: Field 'HTTP_MY_REMOTE_USER' not found in http headers {'HTTP_AUTHORIZATION': 'Basic YWRtaW46YWRtaW4=', ..., 'HTTP_REMOTE_USER': 'demo')
启用所需的apache模块:
$ sudo a2enmod headers $ sudo a2enmod proxy $ sudo a2enmod rewrite $ sudo a2enmod proxy_http
启用新vhost:
$ sudo a2ensite MY_VHOST.com
创建配置的基本身份验证使用的htpassword文件:
$ sudo htpasswd -cb /etc/apache2/MY_VHOST.htpasswd admin admin $ sudo htpasswd -b /etc/apache2/MY_VHOST.htpasswd demo demo
对于本地测试,添加MY_VHOST.com公司在/etc/vhosts文件中。在
最后重新加载配置:
$ sudo service apache2 reload
打开浏览器并转到“我的”_VHOST.com公司. 如果一切都配置得很好 在Odoo外部提示输入登录名和密码,并自动 已登录系统。在
[1] | Shibboleth, Tivoli access manager, .. |
Bug跟踪器
bug在GitHub Issues上跟踪。万一有麻烦,请 检查是否已经报告了您的问题。如果你先发现的话, 通过提供详细而受欢迎的反馈,帮助我们粉碎它。在
学分
图像
- 奥多社区协会:Icon。在
贡献者
- 洛朗·米格农
维修人员
本模块由OCA维护。在
OCA,或奥多社区协会,是一个非营利性组织 其任务是支持Odoo特性和 促进其广泛使用。在
要对本模块有所贡献,请访问https://odoo-community.org。在
- 项目
标签: