我的laravel(4.2)应用程序在localhost(xampp)上运行正常。但是在尝试登录后上传到实时服务器后,它显示一个空白页面,上面有一条消息说“#34;重定向到我的主页”#34;。它还会引发登录错误
抱歉我的英语不好。请帮我。我在下面附上我的htaccess:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
这是我的控制器功能。
public function adminLoginCheck() {
$validation_rule = array(
'username' => array('required', 'min:5', 'max:50'),
'password' => array('required', 'min:6', 'max:50')
);
$validation = Validator::make(Input::all(), $validation_rule);
// Validation Check
if ($validation->fails()) {
return Redirect::to('/')->withErrors($validation);
} // After Validation Authentication start
else {
$athentication = Auth::attempt(array('username' => Input :: get('username'), 'password' => Input :: get('password')));
// When Authentication True
if ($athentication) {
$rememberme = Input::get('remember');
if(!empty($rememberme)){
//Remember Login data
Auth::loginUsingId(Auth::user()->id,true);
}
//Redrict to the Target page
return Redirect::intended('adminDashboard');
} else {
//Redrict Login Form with Authentication error massege.
return Redirect::to('/')->with('authentication_error', 'Username or Password is not valid!');
}
}
}
我的Auth过滤器如下:
Route::filter('auth', function(){if (Auth::guest()){
if (Request::ajax())
{
return Response::make('Unauthorized', 401);
}
else
{
return Redirect::guest('login');
} } })
所有的刀片模板都可用。我不明白为什么空白页面会出现重定向信息。即使在没有输入的情况下提交登录信息
用户名和密码 这是实时网址http://noveltyshop.tech-novelty.com/ user:admin pass:pass
我的路线:
Route::get('/', array('as' => 'admin', 'uses' => 'UsersController@adminLoginForm'));
Route::post('/login', array('as' => 'login', 'uses' => 'UsersController@adminLoginCheck'));
Route::get('/adminDashboard', array('as' => 'adminDashboard', 'uses' => 'UsersController@adminDashboard'));
Route::get('/logout', array('as' => 'logout', 'uses' => 'UsersController@getLogOut'));
Route::get('/updateUserProfileForm', array('as' => 'updateUserProfileForm', 'uses' => 'UsersController@updateUserProfileForm'));
Route::post('/updateUserProfile', array('as' => 'updateUserProfile', 'uses' => 'UsersController@updateUserProfile'));
UsersController @ adminDashboard
public function adminDashboard() {
return View::make('admin.pages.admin_dashboard')->with('title', 'AdminDashboard');
}
答案 0 :(得分:2)
当您使用Laravel 4.2时
您应在控制器中处理此问题。
这是我们处理的默认方式
if (Auth::attempt(['email' => $email, 'password' => $password])) {
return Redirect::intended('yourTargetPageAfterLogin');
}
在auth过滤器中你应该有这个
Route::filter('auth', function() {
if (Auth::guest()) {
return Redirect::guest('login');
}
});
注意:确保您拥有控制器中定义的刀片