我在win7上开发了laravel 4 app。 现在我尝试使用MAMP在Mac上部署它。
除了奇怪的登录问题外,一切似乎都有效: 当我点击我的登录表单时,auth :: attempt通过,然后代码重定向到'profile'页面。
但是在MAMP上我得到以下消息:
array(3) { ["_token"]=> string(40) "E2qYigaryiBNvzV2I7HUFdmp6gdtWaqFKXrVWwWO" ["email"]=> string(14) "elia@gmail.com" ["password"]=> string(4) "elia" } Redirecting to http://localhost:8888/wm/public/profile.
似乎登录过程已经找到了,但是它没有进行实际的重定向,而是发送重定向对象的字符串/序列化版本......
任何想法如何解决这个问题?
这是我的代码(实际的登录代码来自教程):
public function login()
{
$input = Input::all();
$rules = array('email' => 'required|email' );
$validation = Validator::make($input, $rules);
if ($validation->fails())
{
return Redirect::to('/')->withErrors(array('message' => 'Login field is required.'));
}
if ($validation->passes())
{
$credential = array('email' => $input['email'] , 'password' => $input['password']);
if (Auth::attempt( $credential)) {
Auth::user()->history()->create(array('event' => 'logged in'));
return Redirect::to('profile');
} else {
return Redirect::to('/')->withErrors(array('loginError' => 'Wrong email or password.'));
}
} else {
return Redirect::to('/')->withErrors($validation->getMessages());
}
}
答案 0 :(得分:0)
一个小修复:而不是
return Redirect::to('profile');
做的:
return Redirect::intended('profile');