認証プラットフォームとして MyAuth バンドルを使用しています。サインインするときに問題が発生することを除いて、すべて問題ありません。間違ったユーザー名またはパスワードを入力したと何度も言われます。でも申し込む分には問題ありません。
ログイン コントローラ (user.php) は次のとおりです。
public function action_login(){
// get login POST data
$userdata = array(
'username' => Input::get('email'),
'password' => Input::get('password')
);
if ( Auth::attempt($userdata) ){
// we are now logged in, go to dashboard
if(Config::get('myauth::config.login_redirect') != ''){
$redirect_url = Config::get('myauth::config.login_redirect');
} else {
$redirect_url = Config::get('myauth::config.bundle_route') . '/dashboard';
}
return Redirect::to($redirect_url);
} else {
// auth failure! redirect to login with errors
$redirect_url = Config::get('myauth::config.bundle_route') . '/' . Config::get('myauth::config.login_route');
return Redirect::to($redirect_url)->with('notification', 'Incorrect login or password');
}
}
これが私の見解です:
{{ Form::open(Config::get('myauth::config.bundle_route') . '/' . Config::get('myauth::config.login_route')) }}
<!-- check for login errors flash var -->
@if (Session::has('notification'))
<span class="notification">{{ Session::get('notification') }}</span>
@endif
<!-- email field -->
<p>{{ Form::label('email', 'Email') }}</p>
<p>{{ Form::text('email') }}</p>
<!-- password field -->
<p>{{ Form::label('password', 'Password') }}</p>
<p>{{ Form::password('password') }}</p>
<!-- submit button -->
<p>{{ Form::submit('Login') }}</p>
{{ Form::close() }}
ここに私のauth.phpがあります:
return array(
'driver' => 'eloquent',
'username' => 'username',
'password' => 'password',
'model' => 'User',
'table' => 'users',
);
そしてデータベース:
CREATE TABLE `users` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(200) NOT NULL,
`email` varchar(200) NOT NULL,
`password` varchar(200) NOT NULL,
`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
Laravel フォーラムでこの質問をしましたが、まだ回答が見つかりませんでした。varchar 番号または変数に何か問題がありますか?
他の設定を変更することはありません。誰かがこのコードの問題を見つけてくれませんか? ありがとう