该网页在幼虫4中有一个重定向循环

时间:2014-11-07 08:39:44

标签: laravel laravel-4

我忙于教程,最后收到的错误是

  

此网页有重定向循环

我知道问题出现在我的routes.php

Route::group(["before" => "guest"], function(){
    $resources = Resource::where("secure", false)->get();

    foreach($resources as $resource){
        Route::any($resource->pattern, [
            "as" => $resource->name,
            "uses" => $resource->target
        ]);
    }
});

Route::group(["before" => "auth"], function(){
    $resources = Resource::where("secure", true)->get();

    foreach($resources as $resource){
        Route::any($resource->pattern, [
            "as" => $resource->name,
            "uses" => $resource->target
        ]);
    }
});

UserController中

class UserController extends \BaseController {

    public function login()
    {
        if($this->isPostRequest())
        {
            $validator = $this->getLoginValidator();

            if($validator->passes())
            {
                $credentials = $this->getLoginCredentials();

                if(Auth::attempt($credentials)){
                    return Redirect::route("user/profile");
                }

                return Redirect::back()->withErrors([
                    "password" => ["Credentials invalid."]
                ]);
            }else{
                return Redirect::back()
                    ->withInput()
                    ->withErrors($validator);
            }
        }

        return View::make("user/login");
    }

    protected function isPostRequest()
    {
        return Input::server("REQUEST_METHOD") == "POST";
    }

    protected function getLoginValidator()
    {
        return Validator::make(Input::all(), [
            "username" => "required",
            "password" => "required"
        ]);
    }

    protected function getLoginCredentials()
    {
        return [
            "username" => Input::get("username"),
            "password" => Input::get("password")
        ];
    }

    public function profile()
    {
        return View::make("user/profile");
    }

    public function request()
    {
        if($this->isPostRequest()){
            $response = $this->getPasswordRemindResponse();

            if($this->isInvalidUser($response)){
                return Redirect::back()
                    ->withInput()
                    ->with("error", Lang::get($response));
            }

            return Redirect::back()
                ->with("status", Lang::get($response));
        }

        return View::make("user/request");
    }

    protected function getPasswordRemindResponse()
    {
        return Password::remind(Input::only("email"));
    }

    protected function isInvalidUser($response)
    {
        return $response === Password::INVALID_USER;
    }

    public function reset($token)
    {
        if($this->isPostRequest()){
            $credentials = Input::only(
                "email",
                "password",
                "password_confirmation"
            ) + compact("token");

            $response = $this->resetPassword($credentials);

            if($response === Password::PASSWORD_RESET){
                return Redirect::route("user/profile");
            }

            return Redirect::back()
                ->withInput()
                ->with("error", Lang::get($response));
        }

        return View::make("user/reset", compact("token"));
    }

    protected function resetPassword($credentials)
    {
        return Password::reset($credentials, function($user, $pass){
            $user->password = Hash::make($pass);
            $user->save();
        });
    }

    public function logout()
    {
        Auth::logout();
        return Redirect::route("user/login");
    }
}

GroupController

class GroupController extends \BaseController {

    public function indexAction()
    {
        return View::make("group/index", [
            "groups" => Group::all()
        ]);
    }

    public function addAction()
    {
        $form = new GroupForm();

        if($form->isPosted()){
            if($form->isValidForAdd()){
                Group::create([
                    "name" => Input::get("name")
                ]);

                return Redirect::route("group/index");
            }

            return Redirect::route("group/add")->withInput([
                "name" => Input::get("name"),
                "errors" => $form->getErrors()
            ]);
        }

        return View::make("group/add", [
            "form" => $form
        ]);
    }

    public function editAction()
    {
        $form = new GroupForm();

        $group = Group::findOrFail(Input::get("id"));
        $url = URL::full();

        if($form->isPosted()){
            if($form->isValidForEdit()){
                $group->name = Input::get("name");
                $group->save();

                $group->users()->sync(Input::get("user_id", []));
                $group->resources()->sync(Input::get("resource_id", []));

                return Redirect::route("group/index");
            }

            return Redirect::to($url)->withInput([
                "name" => Input::get("name"),
                "errors" => $form->getErrors(),
                "url" => $url
            ]);
        }

        return View::make("group/edit", [
            "form" => $form,
            "group" => $group,
            "users" => User::all(),
            "resources" => Resource::where("secure", true)->get()
        ]);
    }

    public function deleteAction()
    {
        $form = new GroupForm();

        if($form->isValidForDelete()){
            $group = Group::findOrFail(Input::get("id"));
            $group->delete();
        }

        return Redirect::route("group/index");
    }
}

但我不确定如何修复它,特别是因为我正在学习教程。

0 个答案:

没有答案