Closed wgnann closed 5 years ago
@app/Providers/AuthServiceProvider.php
- in_array($user->id, $admins_id) ||
- in_array($user->username_senhaunica, $admins_senhaunica) ||
- in_array($user->username_senhaunica, $admins_ldap);
+ (in_array($user->id, $admins_id) and $user->id) ||
+ (in_array($user->username_senhaunica, $admins_senhaunica) and $user->username_senhaunica) ||
+ (in_array($user->username_senhaunica, $admins_ldap) and $user->username_ldap);
PR 327.
Se, por exemplo, "
SUPERADMINS_LDAP=
" estiver no arquivo de configuração, qualquer usuário satisfará oGate::allows('admin')
.Isso acontece porque o
explode()
devolverá um array com""
na posição 0 caso estiver vazio e, se o usuário não tiver umusername_ldap
,$user->username_ldap
será justamente""
.Como em PHP,
NULL
é igual a""
, ambos são interpretados da mesma forma. A não existência dousername_ldap
implica no usuário sempre ser superadmin, poisin_array(NULL, [""])
étrue
.