laravel-admin 自定义登陆逻辑,补充原有账号密码登录

简介: laravel-admin 自定义登陆逻辑,补充原有账号密码登录

laravel-admin自定义登录 / 登陆

前提


如果需要使用自定义登录,需要能获取到登录用户的相关信息,然后使用相关信息进行登录。这样可以绕开laravel-admin默认的账号密码登录机制进行登录。

代码


直接上代码吧,代码中我们获取到了用户ID,然后通过用户ID获取到用户信息进行登录。

控制器代码


成功后直接跳转到laravel-admin后台首页,失败返回上一页。

<?php
declare(strict_types=1);
namespace App\Admin\Controllers;
use Encore\Admin\Auth\Database\Administrator;
use Illuminate\Http\Request;
use Encore\Admin\Controllers\AuthController as BaseAuthController;
class LoginController extends BaseAuthController
{
    public function autoLogin (Request $request) {
        $user_id = $request->input("user_id");
        $user = Administrator::where("id", $user_id)->first();
        if ($user) {
            $this->guard()->login($user);
            return redirect()->intended("admin");
        }
        return redirect()->back();
    }
}

路由代码


添加自定义登录路由

<?php
use Illuminate\Routing\Router;
Admin::routes();
Route::group([
    'prefix' => config('admin.route.prefix'),
    'namespace' => config('admin.route.namespace'),
    'middleware' => config('admin.route.middleware'),
    'as' => config('admin.route.prefix') . '.',
], function (Router $router) {
    $router->get("auto-login", "LoginController@autoLogin");
});

配置文件修改


修改config/admin.php中以下代码,添加自定义登录路由权限豁免

        // The URIs that should be excluded from authorization.
        'excepts' => [
            'auto-login',
            'auth/login',
            'auth/logout',
            '_handle_action_',
        ],

这样只需要在访问自定义登录路由的时候将用户ID传过来就可以实现自动登录了:/admin/auto-login?user_id=?

参考


laravel 6 用户认证

目录
相关文章
|
10月前
|
数据安全/隐私保护
fastadmin是如何设置没有权限的用户不能访问某些页面的?
fastadmin是如何设置没有权限的用户不能访问某些页面的?
256 0
|
数据库
Discuz! X3.5 登录不了管理后台的处理方法集合
1. 取消IP认证。由于Discuz!论坛会认证IP,不允许不同IP地址同时登录后台,所以取消IP认证即可。修改方法:在网站根目录,Discuz!配置文件config目录下config_global.php 中找到如下代码:$_config[‘admincp’][‘checkip’] = 1把代码中“1”改成“0”。(修改后允许多IP同时登录后台,所以论坛的安全系数会降低)
575 0
Discuz! X3.5 登录不了管理后台的处理方法集合
|
7月前
ShowDoc配置访问默认为登录界面
ShowDoc配置访问默认为登录界面
28 0
|
10月前
|
API 数据安全/隐私保护
漏刻有时忘记超级管理员密码的解决方案:通过API接口设置超级管理员
漏刻有时忘记超级管理员密码的解决方案:通过API接口设置超级管理员
46 0
jira学习案例24-用useAuth切换登录与非登录状态
jira学习案例24-用useAuth切换登录与非登录状态
104 0
jira学习案例24-用useAuth切换登录与非登录状态
pbootcms系统修改登陆界面及后台相关版权标识
pbootcms系统修改登陆界面及后台相关版权标识
967 0
|
NoSQL 安全 API
多账号统一登陆,怎么实现?
现在几乎大部分的 App 都支持使用多个第三方账号进行登录,如:微信、QQ、微博等,我们把此称为多账号统一登陆。而这些账号的表设计,流程设计至关重要,不然后续扩展性贼差。 本文不提供任何代码实操,但是梳理一下博主根据我司账号模块的设计,提供思路,仅供参考。
698 0
多账号统一登陆,怎么实现?
|
数据安全/隐私保护
SAP Spartacus在没有修改用户名和密码的前提下,出现登录错误的原因
SAP Spartacus在没有修改用户名和密码的前提下,出现登录错误的原因
SAP Spartacus在没有修改用户名和密码的前提下,出现登录错误的原因
|
Java 数据库 数据安全/隐私保护
用户模块之登录功能 | 学习笔记
快速学习用户模块之登录功能
171 0
|
数据安全/隐私保护
使用ABAP代码修改指定用户的密码
使用ABAP代码修改指定用户的密码
350 0