我的apache服务器上有一个文件,其中包含用户名及其相关角色import numpy as np
import pandas as pd
def nan_agg(x):
res = {}
res['nansum'] = x.loc[ not x['amount'].isnull(), :]['amount'].sum()
res['nanmean'] = x.loc[ not x['amount'].isnull(), :]['amount'].mean()
return pd.Series(res, index=['nansum', 'nanmean'])
result = data.groupby(groupbyvars).apply(nan_agg).reset_index()
内容:
/etc/httpd/access_control.txt
我想使用user1@example.com admin
user2@example.com. user
和mod_proxy
将此信息传递到我的监听服务器
这是我到目前为止所做的:
mod_rewrite
我在传递给Apache的request属性中得到了<VirtualHost *:443>
...
SSLProxyEngine On
RewriteMap user_roles "txt: /etc/httpd/access_control.txt"
<Proxy *>
RewriteEngine On
RewriteRule .* - [E=USER_ROLE:${user_roles:email}]
RequestHeader set X-Forwarded-User "%{email}e"
RequestHeader set X-Forwarded-Roles "admin" # Works!
RequestHeader set X-Forwarded-Roles "%{USER_ROLE}e" # Doesn't Works
</Proxy>
</VirtualHost>
。我可以成功将电子邮件ID作为用户名传递到email
标头中。
尽管,现在当我尝试获取与特定用户关联的角色时,它不起作用。
还请注意,如果我直接在标头中传递角色,则身份验证可以正常工作。
X-Forwarded-User
有人可以帮我确定这是什么问题吗?
更新:
我尝试在RequestHeader set X-Forwarded-Roles "admin"
中显式传递用户名,以查看RewriteRule
是否正确设置:
RewriteMap
它有效。那么,如何在上面的示例中传递RewriteRule .* - [E=USER_ROLE:${user_roles:user1@example.com}]
属性?