通过HTTP远程用户进行认证
项目描述
本模块通过在HTTP请求的HEAD中查找字段HTTP_REMOTE_USER,并尝试将给定的值绑定到用户来初始化会话。要生效,该模块必须安装到预期的数据库并在启动时加载;将–load参数添加到启动命令中
--load=web,web_kanban,auth_from_http_remote_user, ...
如果在头部找到该字段并且没有用户与给定的值匹配,系统将发出登录错误页面。(401 未授权)
用例。
该模块允许与外部安全系统([1])集成,这些系统可以通过远程用户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
启用您的新虚拟主机
$ 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
打开您的浏览器并转到《MY_VHOST.com》。如果一切配置正确,您将在Odoo外部提示登录名和密码,并自动登录系统。
贡献者
Laurent Mignon
项目详情
关闭
哈希值 for odoo8_addon_auth_from_http_remote_user-8.0.1.0.0.99.dev34-py2-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9b84d1a23a35a2188698397193b71793ababc8d4a2742d170c39570fd4cbd199 |
|
MD5 | 5a520f10d64176dfe22539ec64672bfd |
|
BLAKE2b-256 | 355ea00374f9958b048e9c190a4d0be3674dca85510ba00032906af24b41400e |