标签:ldap authentication symfony php
我想尝试Symfony 2.8中的新LDAP组件,并在几天前开始使用它.但是我不是很了解,并且在验证用户身份时遇到问题.我关注了这篇文章:
http://symfony.com/blog/new-in-symfony-2-8-ldap-component
这是我的配置文件:
# app/config/services.yml
services:
app.ldap:
class: Symfony\Component\Ldap\LdapClient
arguments: ["ldaps://ldap.uni-rostock.de"]
和:
# app/config/security.yml
security:
providers:
# in_memory:
# memory: ~
app_users:
ldap:
service: app.ldap
base_dn: ou=people,o=uni-rostock,c=de
search_dn: uid=tester,ou=people,o=uni-rostock,c=de
search_password: testpass
#filter: (sAMAccountName={username})
filter: (uid={username})
default_roles: ROLE_USER
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
admin:
provider: app_users
stateless: true
pattern: ^/admin
http_basic_ldap:
service: app.ldap
dn_string: "{username}"
这是连接到服务器的指南(仅以德语提供,但必不可少的部分是代码):
http://www.itmz.uni-rostock.de/en/software/windows/universitaetsweite-dienste/ldap-authentifizierungsserver/
当我这样运行服务器时:php app / console server:run -vvv并打开http:// localhost:8000 / admin我被提示输入凭据.不幸的是,即使我尝试了很多次,我也没有通过,我很确定自己没有打错字.在控制台中,只有以下相关行:
[Fri Mar 11 08:39:32 2016] 127.0.0.1:36632 [401]: /admin
我未经授权(401),并再次提示输入凭据.
我可能会错过什么吗?我尝试了许多不同的组合,将值放在引号中,并尝试添加:
access_control:
- { path: ^/admin, roles: ROLE_USER }
到security.yml,但这没有帮助.
还有另一个问题,有些类似的问题:
LDAP Authentication with Symfony 2.8
但我真的无法进一步前进.
有人可能有个主意,我还能尝试什么?
解决方法:
仅供参考,将其添加为答案:
问题将是dn_string:“ {username}”.除非在提示您输入用户名/密码时输入完整的DN,否则将无法使用.例如,如果您所有的用户都在一个公用的OU /容器中,则可以使它类似于:dn_string:uid = {username},ou = people,o = uni-rostock,c = de.
很高兴解决了这个问题!
标签:ldap,authentication,symfony,php 来源: https://codeday.me/bug/20191118/2032118.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。