Laravel 5.2登录问题 [英] Laravel 5.2 login issue

查看:149
本文介绍了Laravel 5.2登录问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

奇怪的问题,当我使用默认的register路由并创建用户时,可以在我的应用程序中输入内容,一切正常.但是,如果我使用CRUD或MySQL命令创建用户,则无法登录. 这些凭据与我们的记录不匹配. (对不起,英语不好,我附上这张图片) Andrea和Raffaello可以登录(使用注册默认路由创建) Marino无法(使用我的CRUD函数生成),但是出现了3条相同的记录.

Strange issue, when I use the default register route, and I create a user, I can enter inside my app, everything ok. But if I use my CRUD, or the MySQL command for create the user, I can't login. These credentials do not match our records. (sorry for bad english, I attach the image) Andrea and Raffaello can login (create with register default route) Marino can't (generate with my CRUD function) but appear 3 identical records..

routes.php:

routes.php :

Route::group(['middleware' => ['web']], function () {
    Route::resource('dash/reports', 'Dash\\ReportsController');
});

/* ruote for Admin */
Route::group(['middleware' => ['role:admin']], function () {
    Route::resource('dash/categories', 'Dash\\CategoriesController');
});

Route::group(['middleware' => ['role:admin']], function () {
    Route::resource('dash/roles', 'Dash\\RolesController');
});
Route::group(['middleware' => ['role:admin']], function () {
    Route::resource('dash/permissions', 'Dash\\PermissionsController');
});
Route::group(['middleware' => ['role:admin']], function () {
    Route::resource('dash/users', 'Dash\\UsersController');
});

/* another routes */
Route::auth();

Route::get('/home', 'HomeController@index');
Route::get('/', function () {return view('welcome');});

控制器(自定义CRUD操作)

Controller (custom CRUD operation)

<?php

namespace App\Http\Controllers\Dash;

use App\Http\Requests;
use App\Http\Controllers\Controller;

use Auth;
use App\User;

use App\Report;
use App\Category;
use Illuminate\Http\Request;
use Carbon\Carbon;
use Session;

use Illuminate\Foundation\Auth\ThrottlesLogins;
use Illuminate\Foundation\Auth\AuthenticatesAndRegistersUsers;

class UsersController extends Controller
{
    use AuthenticatesAndRegistersUsers, ThrottlesLogins;


    /**
     * Display a listing of the resource.
     *
     * @return void
     */
    public function index()
    {
        $users = User::paginate(15);

        return view('dash.users.index', compact('users'));
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return void
     */
    public function create()
    {
        return view('dash.users.create');
    }

    /**
     * Store a newly created resource in storage.
     *
     * @return void
     */

    public function store(Request $request)
    {
        $this->validate($request, ['email' => 'required', 'name' => 'required', 'password' => 'required', 'surname' => 'required', ]);


        $user = new User($request->all());
        $user->password = bcrypt($request);
        $user->save();

        return redirect('dash/users');
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     *
     * @return void
     */
    public function show($id)
    {
        $user = User::findOrFail($id);

        return view('dash.users.show', compact('user'));
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     *
     * @return void
     */
    public function edit($id)
    {
        $user = User::findOrFail($id);

        return view('dash.users.edit', compact('user'));
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  int  $id
     *
     * @return void
     */
    public function update($id, Request $request)
    {
        $this->validate($request, ['email' => 'required', 'name' => 'required', 'password' => 'required', 'surname' => 'required', ]);

        $user = User::findOrFail($id);
        $user->update($request->all());

        Session::flash('flash_message', 'User updated!');

        return redirect('dash/users');
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     *
     * @return void
     */
    public function destroy($id)
    {
        User::destroy($id);

        Session::flash('flash_message', 'User deleted!');

        return redirect('dash/users');
    }
}

视图:

@extends('layouts.app')

@section('content')
<div class="container">

    <h1>Create New User</h1>
    <hr/>

    {!! Form::open(['url' => '/dash/users', 'class' => 'form-horizontal']) !!}

            <div class="form-group {{ $errors->has('email') ? 'has-error' : ''}}">
                {!! Form::label('email', trans('users.email'), ['class' => 'col-sm-3 control-label']) !!}
                <div class="col-sm-6">
                    {!! Form::text('email', null, ['class' => 'form-control', 'required' => 'required']) !!}
                    {!! $errors->first('email', '<p class="help-block">:message</p>') !!}
                </div>
            </div>
            <div class="form-group {{ $errors->has('name') ? 'has-error' : ''}}">
                {!! Form::label('name', trans('users.name'), ['class' => 'col-sm-3 control-label']) !!}
                <div class="col-sm-6">
                    {!! Form::text('name', null, ['class' => 'form-control', 'required' => 'required']) !!}
                    {!! $errors->first('name', '<p class="help-block">:message</p>') !!}
                </div>
            </div>
            <div class="form-group {{ $errors->has('password') ? 'has-error' : ''}}">
                {!! Form::label('password', trans('users.password'), ['class' => 'col-sm-3 control-label']) !!}
                <div class="col-sm-6">
                    {!! Form::text('password', null, ['class' => 'form-control', 'required' => 'required']) !!}
                    {!! $errors->first('password', '<p class="help-block">:message</p>') !!}
                </div>
            </div>

            <div class="form-group {{ $errors->has('surname') ? 'has-error' : ''}}">
                {!! Form::label('surname', trans('users.surname'), ['class' => 'col-sm-3 control-label']) !!}
                <div class="col-sm-6">
                    {!! Form::text('surname', null, ['class' => 'form-control', 'required' => 'required']) !!}
                    {!! $errors->first('surname', '<p class="help-block">:message</p>') !!}
                </div>
            </div>


    <div class="form-group">
        <div class="col-sm-offset-3 col-sm-3">
            {!! Form::submit('Create', ['class' => 'btn btn-primary form-control']) !!}
        </div>
    </div>
    {!! Form::close() !!}

    @if ($errors->any())
        <ul class="alert alert-danger">
            @foreach ($errors->all() as $error)
                <li>{{ $error }}</li>
            @endforeach
        </ul>
    @endif

</div>
@endsection

还有我在AuthController中的custon postLogin(),用于尝试覆盖默认的postLogin()-但不起作用

also my custon postLogin() in AuthController for try to overlap default postLogin() - but not working

public function postLogin(LoginRequest $request)
{

  if (Auth::attempt(['email' => $request->input('email'), 'password' => $request->input('password')])) 
    {
        return redirect('/dash-board');
    }

    return redirect('/login')->withErrors([
        'email' => 'The credentials you entered did not match our records. Riprovare?',
    ]);
}

推荐答案

有 您需要指定从$ request

there is it you need to specify the data you get from $request

您存储的密码不正确

更改此内容:

$user = new User($request->all());
        $user->password = bcrypt($request);
        $user->save();    

对此:

 $user = new User($request->all());
        $user->password = bcrypt($request->pwInputName);
        $user->save();

pwInputName:是您视图中的密码输入名称

pwInputName : is the password input name in your view


问题是您对$ request的所有内容进行了加密


the issue was that you bcrypt all of $request

这篇关于Laravel 5.2登录问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆