【问题标题】:laravel 4 Auth::attempt allways returns true?laravel 4 Auth::attempt 总是返回 true?
【发布时间】:2014-01-17 22:58:09
【问题描述】:

今天早些时候,我遇到了与 Auth::attempt 完全相同的问题,总是重新调整为 false。我意识到 Auth 会检查哈希密码,因此通过这样做我能够让它返回 true,但现在它总是如此。即使我在表单中键入 asdadfasdfaf,if 语句也会加载页面。有什么建议吗?

控制器:

class userController extends \BaseController 
{


public function login()
{


      $user = array(
        'username'  => Input::get('username'),
        'password'  => Input::get('password') 
    );


    if(Auth::attempt($user)) 
    {
        return Redirect::route('home');
    }

    else
    {
        return View::make('login');

    }




}
}

表格

{{ Form::open(array('url' => 'home' )) }}
    {{ Form::label('username', 'Username: ') }}
        {{ Form::text('username') }}
        </br>
    {{ Form::label('password', 'Password: ') }}
        {{ Form::password('password') }}
        </br>
{{ Form::submit() }}
{{ Form::close() }}

路线文件:

Route::post('home', 'userController@login');

无论我输入什么,它总是将我引导到我的“主页”页面?

【问题讨论】:

  • 由于'url' =&gt; 'home'...,您的表单正在发布到主页
  • 提供你的用户表结构。可能还有一位来自您的桌子的用户。

标签: php authentication laravel laravel-4


【解决方案1】:

操作网址应为login

{{ Form::open(array('url' => 'login' )) }}
                              ^^^^ as you used Auth::attempt to this URL

    {{ Form::label('username', 'Username: ') }}
        {{ Form::text('username') }}
        </br>
    {{ Form::label('password', 'Password: ') }}
        {{ Form::password('password') }}
        </br>
{{ Form::submit() }}
{{ Form::close() }}

【讨论】:

    猜你喜欢
    • 2013-06-11
    • 1970-01-01
    • 2016-09-12
    • 2017-05-24
    • 2015-12-10
    • 2015-03-03
    • 2014-03-15
    • 2019-04-14
    相关资源
    最近更新 更多