Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有关于如何设置ldap服务器的教程,以及之后如何将其与简单的laravel应用程序连接的教程?_Laravel_Ldap - Fatal编程技术网

有没有关于如何设置ldap服务器的教程,以及之后如何将其与简单的laravel应用程序连接的教程?

有没有关于如何设置ldap服务器的教程,以及之后如何将其与简单的laravel应用程序连接的教程?,laravel,ldap,Laravel,Ldap,我使用DigitalOcean教程设置了ldap并安装了AdLdap2软件包,如果有人能向我解释为什么在登录ldap服务器时仍然尝试使用默认用户名和密码登录,我无法正确解释这个问题,如果您不理解,你可以在这里放一些链接,帮助你设置服务器,并将laravel项目与ldap连接起来吗?我知道我有点晚了,但这些是我为我的一个应用程序设置时的笔记 Adldap2 Laravel节点数据库提供程序 安装 安装Adldap2 laravel软件包: $composer需要adldap2/adldap2 la

我使用DigitalOcean教程设置了ldap并安装了AdLdap2软件包,如果有人能向我解释为什么在登录ldap服务器时仍然尝试使用默认用户名和密码登录,我无法正确解释这个问题,如果您不理解,你可以在这里放一些链接,帮助你设置服务器,并将laravel项目与ldap连接起来吗?

我知道我有点晚了,但这些是我为我的一个应用程序设置时的笔记

Adldap2 Laravel节点数据库提供程序 安装 安装Adldap2 laravel软件包:

$composer需要adldap2/adldap2 laravel

创建auth脚手架:

$php artisan make:auth

配置 在.env文件中定义以下环境变量:

环境署署长 LDAP_HOSTS=[192.168.1.10] LDAP_端口=[389] LDAP_BASE_DN=[DC=contoso,DC=com] LDAP_用户名=[ldap@contoso.com] LDAP_PASSWORD=[password123] 如果仅使用LDAP身份验证,请禁用默认路由。在/routes/web.php文件中,对Auth::routes进行以下更改:

/routes/web.php Auth::路由[ “重置”=>错误, “验证”=>false, “寄存器”=>false, ] 在/resources/views/auth/login.blade.php文件中,将电子邮件地址的标签更改为Username,从相应的文本输入中删除@error'email部分,并将该文本输入的名称更改为您正在通过samaccountname或userprincipalname查找用户的LDAP属性。完成的文本输入应类似于以下内容:

/参考资料/views/auth/login.blade.php 通过运行以下两个命令创建ldap.php和ldap_auth.php文件:

$php artisan供应商:发布-提供程序Adldap\Laravel\AdldapServiceProvider

$php artisan供应商:发布-提供程序Adldap\Laravel\AdldapAuthServiceProvider

在/config/auth.php中的providers下,将用户驱动程序更改为使用ldap而不是Elount,并注释掉它下面的模型,如下所示:

/config/auth.php “提供者”=>[ “用户”=>[ 'driver'=>'ldap',//App\User::class,//Adldap\Laravel\Auth\NoDatabaseProvider::class 将ldap下的locate_users_by更改为您计划通过samaccountname或userprincipalname对用户进行身份验证的任何字段 /config/ldap_auth.php “ldap”=>[ '通过'=>'samaccountname'查找用户', 'bind_users_by'=>'discriminatedname', ], 在/app/Http/Controllers/Auth/LoginController.php文件中,必须添加一个username函数,该函数返回要通过以下方式验证用户的LDAP属性:

/app/Http/Controllers/Auth/LoginController.php 公共函数用户名 { 返回“samaccountname”; } 在/config/app.php文件中,为Adldap Facade添加别名很有帮助,以避免每次需要访问时都必须键入别名:

/config/app.php “别名”=>[ 'App'=>illumb\Support\Facades\App::class, 'Arr'=>illumb\Support\Arr::class, .//滚动 .//到 .// .//底部 “视图”=>Illumb\Support\Facades\View::class, 'Adldap'=>Adldap\Laravel\Facades\Adldap::class//with'cn',$cn; //在家庭视图上使用{{$cn}}将输出公共名称 } 如果要为所有其他用户查询LDAP服务器,可以将use Adldap;与其他use合同一起添加,并使用查询生成器: /app/Http/Controllers/HomeController 使用Adldap; 公共功能指数 { $users=Adldap::search->where'objectclass','=','person'->排序方式为'cn','asc'->get; 返回视图“主页”,压缩“用户” //在视图上使用foreach循环迭代用户和属性 }
有一个可用的、经过测试且运行良好的软件包,很明显我无法真正设置它,它总是使用默认的管理员/密码凭据登录我,即使我通过laravel default auth登录,我几乎完成了此软件包设置的每一步,我想我错过了一些东西,或者我设置了错误的服务器。您必须更改配置文件以匹配LDAP设置,然后通过覆盖attemptLogin方法更改LoginController,以返回true或false(如果提供的凭据没有问题,应该是这样的)。我不知道为什么没有人对此答案进行投票。这对任何新手来说都是一项艰难的工作,至少对我来说是如此。现在我很遗憾,为什么我没有开始学习本教程,因为当我首先找到这个答案。我花了一整天的时间试图将我的Laravel应用程序与我的OpenLDAP服务器连接起来,当我完成任务时,我来到这里仔细检查我的工作,除了标识符设置之外,我的工作完全相同。不过,谢谢你这么好的解释。