通过HTTP远程用户进行身份验证
项目描述
允许用户自动登录
此模块通过在HTTP请求的HEAD中查找HTTP_REMOTE_USER字段并尝试将给定值绑定到用户来初始化会话。要生效,该模块必须安装在预期的数据库中,并在启动时加载;将–load参数添加到启动命令中
--load=web,web_kanban,auth_from_http_remote_user, ...
如果在头部找到该字段且没有用户匹配给定的用户,系统将发出登录错误页面。(401 未经授权)
系统参数
默认情况下,此模块不允许同一用户同时从不同的浏览器会话连接。它为每个会话创建一个新随机伪密码(sso_key),该密码在每个会话创建时都不同。要允许同一用户从不同的浏览器会话连接,可以配置一个带秘密的系统参数。在会话创建时,生成的伪密码将基于秘密和用户ID进行哈希,使伪密码对同一用户的每个会话都相同。系统参数的键必须是
http_remote_user.secret
并且值可以是任何字符串(例如:123456789abcdefgh)。
用例。
该模块允许与外部安全系统集成 [1],这些系统可以通过Remote_User HTTP头部字段传递用户的身份验证。在许多情况下,这是通过Apache HTTPD或nginx代理Odoo的服务器来实现的。
如何使用Apache测试模块[2]
Apache可以用作反向代理,提供身份验证并在Http头部中添加所需字段。
安装Apache
$ sudo apt-get install apache2
通过在/etc/apache2/sites-available中放置新文件来为Apache定义一个新的vhost。
$ 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>
启用所需的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
对于本地测试,在您的/etc/vhosts文件中添加MY_VHOST.com。
最后重新加载配置
$ sudo service apache2 reload
打开您的浏览器并转到MY_VHOST.com。如果一切配置正确,您将在Odoo外部提示登录名和密码,并自动登录系统。
问题追踪器
问题在GitHub Issues上进行跟踪。如有问题,请检查是否已报告您的问题。如果您是第一个发现它的人,请帮助我们通过提供详细且受欢迎的反馈来解决问题。
致谢
图片
Odoo社区协会:图标。
贡献者
Laurent Mignon <laurent.mignon@acsone.eu>
维护者
本模块由OCA维护。
OCA,或Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛使用。
要为此模块做出贡献,请访问https://odoo-community.org。
项目详情
哈希值 for odoo9_addon_auth_from_http_remote_user-9.0.1.0.0.99.dev17-py2-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6d09f2496281f4e066c6cb8c3d4a395a9938a79b110a3a12ba24001e7a7c629c |
|
MD5 | 48d5bd1f2d06effd9f521df50454474c |
|
BLAKE2b-256 | cb856042c02255846ade23e9ca1d03c53e9368963aa26fcfb21576b7dc9dffb3 |