如何搜索不区分大小写的 OpenStack 用户?
How to search OpenStack users case insensitive?
我有一个连接到 LDAP 的 OpenStack 云(我无法控制它,并且在我查询时没有 return 匹配的情况),其中 Keystone 的用户为 'UserNaMe',如果我使用此代码搜索用户,id 为 returned:
conn = openstack.connect(cloud)
pprint(conn.identity.find_user('UserNaMe'))
但是,如果我搜索大小写不正确的用户名,则不会 returned:
pprint(conn.identity.find_user('username'))
由于 https://docs.openstack.org/openstacksdk/latest/user/proxies/identity_v3.html#user-operations 文档不具体,我如何使搜索不区分大小写以便始终获得正确的用户 ID?
Horizon 似乎没有问题 'username' 而不是 'UserNaMe',所以必须有一种不敏感搜索的方法。
一种选择是检查 Horizon source 并查看它如何处理用户搜索。
另一种选择是遍历用户列表并执行不区分大小写的比较。例如:
want_user = 'UserNaMe'
found_user = [user for user in conn.identity.users()
if user.name.lower() == want_user.lower()]
我有一个连接到 LDAP 的 OpenStack 云(我无法控制它,并且在我查询时没有 return 匹配的情况),其中 Keystone 的用户为 'UserNaMe',如果我使用此代码搜索用户,id 为 returned:
conn = openstack.connect(cloud)
pprint(conn.identity.find_user('UserNaMe'))
但是,如果我搜索大小写不正确的用户名,则不会 returned:
pprint(conn.identity.find_user('username'))
由于 https://docs.openstack.org/openstacksdk/latest/user/proxies/identity_v3.html#user-operations 文档不具体,我如何使搜索不区分大小写以便始终获得正确的用户 ID?
Horizon 似乎没有问题 'username' 而不是 'UserNaMe',所以必须有一种不敏感搜索的方法。
一种选择是检查 Horizon source 并查看它如何处理用户搜索。
另一种选择是遍历用户列表并执行不区分大小写的比较。例如:
want_user = 'UserNaMe'
found_user = [user for user in conn.identity.users()
if user.name.lower() == want_user.lower()]