[英]Authentication with the new LDAP component in Symfony 2.8
我想在 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
,但它沒有幫助。
還有另一個問題有點類似的問題:
但我真的不能再進一步了。
有人可能知道我還能嘗試什么嗎?
僅供參考,將其添加為答案:
問題是dn_string: "{username}"
。 除非您在提示輸入用戶名/密碼時輸入完整的 DN,否則這將不起作用。 例如,如果您的所有用戶都在一個公共 OU/容器中,您可以將其設置為: dn_string: uid={username},ou=people,o=uni-rostock,c=de
。
很高興這修復了它!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.