在laravel 5.2中,Laravel手动登录始终不匹配

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在laravel 5.2中,Laravel手动登录始终不匹配相关的知识,希望对你有一定的参考价值。

我一直在使用手动登录我的laravel进行“不匹配”身份验证这里是我的控制器

<?php

namespace AppHttpControllers;

use IlluminateHttpRequest;

use AppHttpRequests;
use AppHttpControllersController;
use AppAdmin;
use Input;
use Validator;
use Auth;

class CobaLogin extends Controller
{
    public function index(){

        return view('adminlogin');
    }

    public function username(){

    return 'username';

    }
    public function doLogin(Request $request){

        $username = $request ->input('username');
        $password = $request -> input('password');

        if(Auth::attempt(['username' => $username, 'password' => $password])){
          echo "yes match";

        }else{
            echo "not match";

        }
    }
}

这是管理员表中的模型

<?php

namespace App;

use IlluminateDatabaseEloquentModel;
use IlluminateFoundationAuthUser as Authenticatable;


class Admin extends Authenticatable{
    protected $table = "admin";
}

这是我的路线

Route::get('loginadmin', 'CobaLogin@index');
Route::post('dologin', 'CobaLogin@doLogin');

这是我的登录刀片文件

<div class="wrapper">
    <form class="form-signin" action="{{ url('dologin')}}" method="POST">   
     {{ csrf_field() }}
      <br/><h2 class="form-signin-heading text-center">ADMIN LOGIN</h2>
      <input type="text" class="form-control" name="username" placeholder="Email Address" required="" autofocus="" />
      <input type="password" class="form-control" name="password" placeholder="Password" required=""/>      
      <label class="checkbox">
        <input type="checkbox" value="remember-me" id="rememberMe" name="rememberMe"> Remember me
      </label>

      <button class="btn btn-lg btn-primary btn-block" type="submit">Login</button>   
    </form>
  </div>

这是我的auth.php文件

'providers' => [
        'admin' => [
            'driver' => 'eloquent',
            'model' => AppAdmin::class,
        ],

这是我的注册功能

public function store(Request $request){
        $data=Input::except(array('_token'));

        // var_dump($data);
        $rule=array(
            'username' => 'required|unique:admin',
            'password' => 'required|min:6',
            'cpassword' => 'required|same:password',
            'email' => 'required|email',
            );

        $message=array(
            'username' => 'This username already taken',
            'cpassword.min'=>'the password must at least 6 characters',
            'cpassword.same'=>'the password and confirm password must same',
            );

        $validator= validator::make($data,$rule,$message);

        if($validator->fails()){
            return redirect() -> to('adduser')->withErrors($validator);
        }else{

            $tambah = new Admin();
            $tambah->username = $request['username'];
            $tambah->password = Hash::make($request['password']);
            $tambah->email = $request['email'];
            $tambah->alamat = $request['alamat'];
            $tambah->lebih = $request['lebih'];
            $tambah->save();

        return redirect()->to('users')->with('success','Your Data Has Been Added');
        }

    }

这里是my database table我使用Hash加密密码,我认为注册没有错,我想念什么?

我一直有“不匹配”作为答案

请高手帮忙

答案

默认情况下,Laravel使用User模型进行身份验证。您可以通过编辑config/auth.php来自定义它:

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => AppAdmin::class,
    ],

以上是关于在laravel 5.2中,Laravel手动登录始终不匹配的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.2 Entrust:如果他手动添加受限URL,则重定向用户

允许用户在 laravel 5.2 中进行登录后调用

Laravel 5.2服务----用户验证Auth相关问题

从其他域登录 laravel 5.2

如何在laravel 5.2登录时检查电子邮件(确认/否)?

Laravel 5.2 在同一页面上登录和注册表单