fos_user:
db_driver: orm # other valid values are 'mongodb' and 'couchdb'
firewall_name: main
user_class: AppBundle\Entity\User
from_email:
address: "%mailer_user%"
sender_name: "%mailer_user%"
fr3d_ldap:
driver:
host: ldap.forumsys.com
port: 389
username: cn=read-only-admin,dc=example,dc=com
password: password
bindRequiresDn: true
user:
baseDn: dc=example,dc=com
filter: (&(objectClass=person))
attributes:
- { ldap_attr: uid, user_method: setUsername }
encoders:
FOS\UserBundle\Model\UserInterface: bcrypt
AppBundle\Entity\User: plaintext
erase_credentials: false
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN]
providers:
chain_provider:
chain:
providers: [fr3d_ldapbundle,fos_userbundle]
fr3d_ldapbundle:
id: fr3d_ldap.security.user.provider
fos_userbundle:
id: fos_user.user_provider.username
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
pattern: ^/
fr3d_ldap: ~
form_login:
provider: chain_provider
always_use_default_target_path: true
default_target_path: /
logout: true
anonymous: true
encoders:
AcmeBundle\Acme\User\LdapUser: plaintext
access_control:
- { path: ^/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/, role: ROLE_USER }
fr3d_ldap:
driver:
host: ldap.forumsys.com
port: 389
#version: 3
username: cn=read-only-admin,dc=example,dc=com
password: password
bindRequiresDn: true
user:
baseDn: uid=euclid,dc=example,dc=com
filter: (&(objectClass=person))
attributes:
- { ldap_attr: uid, user_method: setUsername }
但是这个配置的问题是我只能以用户Euclid的身份登录。但我想作为每一个可用的用户登录。
但是对于另一个配置,我会在日志中得到这样的消息,即找到了该用户,但已经发生了驱逐。
2017-04-20 09:36:16]ldap_driver.debug:ldap_search(dc=example,dc=com,(&(&(objectclass=person))(UID=einstein)),[array]){“操作”:“ldap_search”,“base_dn”:“dc=example,dc=com”,“filter”:“(&(&(objectclass=person),(UID=einstein))”,“attributes”:[]}[]
[2017-04-20 09:36:17]security.info:在LDAP上找到用户einstein{“操作”:“LoadUserbyUsername”,“Username”:“einstein”,“结果”:“found”}[]
[2017-04-20 09:36:17]ldap_driver.debug:ldap_bind(einstein,****){“action”:“ldap_bind”,“bind_rdn”:“einstein”}[]
[2017-04-20 09:36:17]ldap_driver.debug:异常“zend\ldap\exception\ldapexception”,消息“0x1:未能检索帐户:einstein的DN[0x1:意外的结果计数(16)for:(&(ObjectClass=Person))],在/vendor/zendframework/zend-ldap/src/ldap.php:805堆栈跟踪:#0/vendor/fr3D/ldap-bundle/driver/zendldapdriver.php(82):zend\ldap\ldap->bind(”manager.php(78):fr3D\ldapbundle\driver\zendldapdriver->bind(Object(appbundle\entity\user),'password')#2/vendor/fr3D/ldap-bundle/security/authentication/ldapauthenticationprovider.php(90):fr3D\ldapbundle\ldap\manager->bind(Object(appbundle\entity\user),'password')#3....
[2017-04-20 09:36:17]ldap_driver.debug:ldap_search(dc=example,dc=com,(&(&(objectclass=person))(uid=einstein))),[array]){“操作”:“ldap_search”,“base_dn”:“dc=example,dc=com”,“filter”:“(&(&(objectclass=person)”(uid=einstein))“,”attributes“:[]}[]
[2017-04-20 09:36:17]security.info:在LDAP上找到html" target="_blank">用户einstein{“操作”:“LoadUserbyUsername”,“Username”:“einstein”,“结果”:“found”}[]
[2017-04-20 09:36:17]安全信息:身份验证请求失败。{“Exception”:“[object](symfony\component\security\core\exception\badcredentialsException(code:0):错误凭据。在/vendor/symfony/symfony/src/symfony/src/symfony/crc/sympony/component/security/core/corent/authentication/provider/userauthenticationprovider.php:90,
我不知道我做错了什么,我刚刚开始使用LDAP。
我已经改变了我的代码,就像Alvin发布的示例一样。但是我得到以下错误:Symfony Dev log。系统创建用户,但我在日志文件中得到错误。
所以我最终发现了我的代码中的问题。
我忘记正确设置用户实体中DN字段的set和get函数。这是我的代码:
/**
* Set Ldap Distinguished Name.
*
* @param string $dn Distinguished Name
*/
public function setDn($dn)
{
// TODO: Implement setDn() method.
}
/**
* Get Ldap Distinguished Name.
*
* @return null|string Distinguished Name
*/
public function getDn()
{
// TODO: Implement getDn() method.
}
但这是阿尔文教程中正确的一条:
/**
* {@inheritDoc}
*/
public function setDn($dn)
{ $this->dn = $dn; }
/**
* {@inheritDoc}
*/
public function getDn()
{ return $this->dn; }
谢谢艾尔文的帮助和很棒的教程。
我试图得到一个API查询到python。命令行 给出一些json输出。myToken是一个十六进制变量,始终保持不变。我想从python中调用它,这样我就可以循环使用不同的ID并分析输出。有什么想法吗?在需要身份验证之前,我已经使用urllib2完成了这项工作。我还查看了requests模块,但不知道如何实现。 非常感谢。
Tweepy API请求twitter return me Twitter错误响应:状态代码=401。 这是我的实际代码: 我曾试图用tweepy软件包删除推文,并获得了所有必需的密钥。镊子包装不起作用吗?有人能帮我解决这个问题吗。
当使用Firebase Auth进行身份验证时,我想自动输入通过SMS接收的代码。我能够接收短信并手动完成身份验证过程,但当我使用SmsRetriever时,应用程序崩溃,然后显示底部工作表对话框。这是Logcat中显示的所有内容: [SmsRetrieverHelper]SMS校验码请求失败:未知状态代码:17010 null 用户输入其电话号码的代码片段: 这是片段中的代码,用户必须在其中输入
编辑: org.springframework.security日志: ***但是,如果我在获得有效身份验证后查看日志中的一些请求: 调试2022-01-17 12:31:03.945 IST“将SecurityContextHolder设置为SecurityContextImpl[Authentication=OAuth2AuthenticationToken[Principal=com..se
问题内容: 尝试使用JavaMail中的NTLM连接到Exchange服务器。我可以连接到SMTP,但不能连接到IMAP。我还可以使用相同的主机/用户名/密码通过OS X Mail.app应用程序进行身份验证,帐户类型=“ IMAP”,端口143,ssl = false,authentication = NTLM,域名=“。 连接代码: 输出: 我尝试通过http://www.oracle.com
我相对来说是JMeter的新手,但是我很难让HTTP Sampler登陆到一个安全的网页上。我认为它需要NTLM认证,所以我使用HTTP授权管理器来传递BlazeMeter指南中指定的凭证 我的授权管理器具有以下值: 基本网址: https:// [测试站点] 用户名: [我的用户名] 密码: [我的密码] 域:与基本网址相同 机制: BASIC_DIGEST 然而,我只是得到一个401错误(见下