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 用户认证

目录
相关文章
|
3月前
|
SQL PHP 数据安全/隐私保护
php登录功能(可以判断谁登录的呢)注册粗暴解决
php登录功能(可以判断谁登录的呢)注册粗暴解决
php登录功能(可以判断谁登录的呢)注册粗暴解决
|
数据库
Discuz! X3.5 登录不了管理后台的处理方法集合
1. 取消IP认证。由于Discuz!论坛会认证IP,不允许不同IP地址同时登录后台,所以取消IP认证即可。修改方法:在网站根目录,Discuz!配置文件config目录下config_global.php 中找到如下代码:$_config[‘admincp’][‘checkip’] = 1把代码中“1”改成“0”。(修改后允许多IP同时登录后台,所以论坛的安全系数会降低)
760 0
Discuz! X3.5 登录不了管理后台的处理方法集合
|
API 数据安全/隐私保护
漏刻有时忘记超级管理员密码的解决方案:通过API接口设置超级管理员
漏刻有时忘记超级管理员密码的解决方案:通过API接口设置超级管理员
62 0
|
Python
Django用户注册、登录、编辑信息、删除(简易版)
Django用户注册、登录、编辑信息、删除(简易版)
223 0
|
NoSQL 安全 API
多账号统一登陆,怎么实现?
现在几乎大部分的 App 都支持使用多个第三方账号进行登录,如:微信、QQ、微博等,我们把此称为多账号统一登陆。而这些账号的表设计,流程设计至关重要,不然后续扩展性贼差。 本文不提供任何代码实操,但是梳理一下博主根据我司账号模块的设计,提供思路,仅供参考。
781 0
多账号统一登陆,怎么实现?
|
数据安全/隐私保护
SAP Spartacus在没有修改用户名和密码的前提下,出现登录错误的原因
SAP Spartacus在没有修改用户名和密码的前提下,出现登录错误的原因
105 0
SAP Spartacus在没有修改用户名和密码的前提下,出现登录错误的原因
|
数据安全/隐私保护
使用ABAP代码修改指定用户的密码
使用ABAP代码修改指定用户的密码
391 0
[导入]用户登录及验证用户是否登录的代码
用户登录及验证用户是否登录的代码文章来源:http://blog.csdn.net/jyk/archive/2006/08/15/1067382.aspx
683 0