You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Zeppelin Shiro LDAP认证优化:实现无域名后缀登录

实现Zeppelin LDAP无后缀用户名登录

当然可以让用户只输入用户名就完成LDAP登录!你只需要在现有的shiro.ini配置中添加一个关键参数,就能自动帮用户拼接域名后缀,不用手动输入。

需要调整的配置项

在你的LDAP Realm配置里添加以下参数:

ldapRealm.userPrincipalNameTemplate = {0}@company.org

这个参数的作用是:当用户输入纯用户名(比如johndoe)时,Shiro会自动把它转换成johndoe@company.org,再去LDAP服务器进行认证,完美匹配你现有的LDAP用户格式。

修改后的完整配置示例

把新增参数加入你的原有配置后,完整的LDAP Realm部分会是这样:

ldapRealm=org.apache.zeppelin.realm.LdapRealm
ldapRealm.contextFactory.systemUsername=cn=hosting,dc=company,dc=org
ldapRealm.contextFactory.systemPassword=secretpassword
ldapRealm.contextFactory.authenticationMechanism=simple
ldapRealm.contextFactory.url=ldap://ldap.user.base:389
ldapRealm.pagingSize = 200
ldapRealm.authorizationEnabled = true
ldapRealm.searchBase=OU=Users,DC=company,DC=org
ldapRealm.userSearchBase=OU=Users,DC=company,DC=org
ldapRealm.groupSearchBase=OU=Groups,DC=company,DC=org
ldapRealm.memberAttributeValueTemplate=CN={0},OU=Users,DC=company,DC=org
ldapRealm.rolesByGroup = "QC":admin_role
ldapRealm.userLowerCase = true
ldapRealm.groupSearchEnableMatchingRuleInChain = true
# 新增的自动拼接域名参数
ldapRealm.userPrincipalNameTemplate = {0}@company.org

额外注意事项

如果你的LDAP服务器(比如Active Directory)使用sAMAccountName作为用户的登录标识,建议再明确设置用户搜索过滤器,确保认证更精准:

ldapRealm.userSearchFilter = (sAMAccountName={0})

这个过滤器会告诉Shiro去LDAP中查找sAMAccountName匹配输入用户名的用户,配合userPrincipalNameTemplate就能实现无缝的无后缀登录。

最后一步

修改完配置后,重启Zeppelin服务,然后测试用纯用户名登录,应该就能正常验证了!

内容的提问来源于stack exchange,提问作者Eliyas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 07:01:07