您可以按@符号展开并根据需要验证第二部分(1 个索引)。
<?php
$dataEmail = 'test@';
$explodedEmail = explode('@', $dataEmail);
if (array_key_exists(1, $explodedEmail) && strlen($explodedEmail[1]) > 0) {
echo 'true';
}
但是,如果您需要验证电子邮件,只需使用filter_var我正在使用 Adldap2-Laravel 包进行身份验证。我正在使用 LDAP 测试论坛进行测试。我按照本教程 https://jotaelesalinas.github.io/laravel-simple-ldap-auth/ 但我无法登录。我没有收到任何错误。在下面的代码中,总是 else 块正在执行。
我想我在配置中犯了错误请帮助我
谢谢你
登录控制器
protected function attemptLogin(Request $request)
{
$credentials = $request->only($this->username(), 'password');
$username = $credentials[$this->username()];
$password = $credentials['password'];
$user_format = env('LDAP_USER_FORMAT', 'cn=%s,'.env('LDAP_BASE_DN', ''));
$userdn = sprintf($user_format, $username);
if(Adldap::auth()->attempt($userdn, $password, $bindAsUser = true)) {
dd('working');
}
else
{
dd('not working');
}
}
环境文件
LDAP_SCHEMA=OpenLDAP
LDAP_HOSTS=ldap.forumsys.com
LDAP_BASE_DN=dc=example,dc=com
LDAP_USER_ATTRIBUTE=uid
LDAP_USER_FORMAT=uid=%s,dc=example,dc=com
LDAP_CONNECTION=default
# Change from mysql to sqlite:
DB_CONNECTION=sqlite
慕容3067478