如何在 Laravel 5.2 中使用不同的数据库表列名登录?

How to get login with different database table column name in Laravel 5.2?(如何在 Laravel 5.2 中使用不同的数据库表列名登录?)
本文介绍了如何在 Laravel 5.2 中使用不同的数据库表列名登录?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我必须在 Laravel 5.2 中实现登录功能.我已经使用官方 Laravel 文档成功地做到了这一点,只是我不知道如何使用不同的数据库表列名称来验证用户,即 st_usernamest_password.

我已经在互联网上搜索了线索,但无济于事.我不知道我需要使用哪个类(例如,使用 Illuminate ......)进行身份验证.如果有人知道答案,请告诉我.

这是我的代码:

登录查看

@extends('layouts.app')@section('内容')<div class="contact-bg2"><div class="容器"><div class="booking"><h3>登录</h3><div class="col-md-4 booking-form" style="margin: 0 33%;"><form method="post" action="{{ url('/login') }}">{!!csrf_field() !!}<h5>用户名</h5><input type="text" name="username" value="abcuser"><h5>密码</h5><input type="password" name="password" value="abcpass"><input type="submit" value="登录"><输入类型=重置"值=重置"></表单>

<div></div>@endsection

授权控制器

命名空间 AppHttpControllersAuth;使用 AppUser;使用验证器;使用 AppHttpControllersController;使用 IlluminateFoundationAuthThrottlesLogins;使用 IlluminateFoundationAuthAuthenticatesAndRegistersUsers;类 AuthController 扩展控制器{使用 AuthenticatesAndRegistersUsers、ThrottlesLogins;受保护的 $redirectTo = '/home';公共函数 __construct(){$this->middleware('guest', ['except' => 'logout']);$this->username = 'st_username';$this->password = 'st_password';}受保护的函数验证器(数组 $data){返回 Validator::make($data, ['名称' =>'需要|最大:255','电子邮件' =>'required|email|max:255|unique:users','密码' =>'需要|确认|分钟:6',]);}

路由文件

Route::get('/', function () {返回视图('索引');});Route::group(['middleware' => 'web'], function () {路线::认证();Route::get('/home', 'HomeController@index');});

config/auth.php

返回 ['默认' =>['守卫' =>'网络','密码' =>'用户',],'守卫' =>['网络' =>['司机' =>'会议','提供者' =>'用户',],'api' =>['司机' =>'令牌','提供者' =>'用户',],],'提供者' =>['用户' =>['司机' =>'雄辩','模型' =>应用用户::类,],//'用户' =>[//'司机' =>'数据库',//'表' =>'用户',//],],'密码' =>['用户' =>['提供者' =>'用户','电子邮件' =>'auth.emails.password','表' =>'密码重置','过期' =>60,],],];

解决方案

我搜索了很多如何自定义 Laravel 5.2 授权表单,这 100% 对我有用.这是从下到上的解决方案.

此解决方案最初来自此处:https://laracasts.com/discuss/channels/laravel/replacing-the-laravel-authentication-with-a-custom-authentication

但我必须进行一些更改才能使其正常工作.

我的网络应用程序是为 DJ 而设计的,所以我的自定义列名称带有dj_",例如名称是 dj_name

  1. config/auth.php

    //改变这个'司机' =>'雄辩',//到这个'司机' =>'风俗',

  2. 在 config/app.php 中将您的自定义提供程序添加到列表中...

    'providers' =>[...//将此添加到其他提供者的底部AppProvidersCustomAuthProvider::class,...],

  3. 在文件夹 appProviders 中创建 CustomAuthProvider.php

    命名空间 AppProviders;使用 IlluminateSupportFacadesAuth;使用 AppProvidersCustomUserProvider;使用 IlluminateSupportServiceProvider;类 CustomAuthProvider 扩展了 ServiceProvider {/*** 引导应用程序服务.** @return 无效*/公共函数引导(){Auth::provider('custom', function($app, array $config) {//返回 IlluminateContractsAuthUserProvider 的一个实例...return new CustomUserProvider($app['custom.connection']);});}/*** 注册应用服务.** @return 无效*/公共函数 register(){/
                    
    本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

In PHP how can you clear a WSDL cache?(在 PHP 中如何清除 WSDL 缓存?)
failed to open stream: HTTP wrapper does not support writeable connections(无法打开流:HTTP 包装器不支持可写连接)
Stop caching for PHP 5.5.3 in MAMP(在 MAMP 中停止缓存 PHP 5.5.3)
Caching HTTP responses when they are dynamically created by PHP(缓存由 PHP 动态创建的 HTTP 响应)
Memcached vs APC which one should I choose?(Memcached 与 APC 我应该选择哪一个?)
What is causing quot;Unable to allocate memory for poolquot; in PHP?(是什么导致“无法为池分配内存?在 PHP 中?)