登录后显示受保护的页面

时间:2013-06-24 13:15:31

标签: routes laravel laravel-4

所以我对Laravel(和MVC框架)非常陌生,只是做了一些基本的教程来了解它。

完成本教程后:https://bitbucket.org/beni/laravel-4-tutorial/wiki/User_Management

我到了最后一部分(“添加受保护的页面”),它只是对我不起作用。

这是我在教程中使用的内容。

// Routes.php

...
Route::group(array('before' => 'auth'), function()
{
    Route::get('secret', 'HomeController@showSecret');
});
...

我也试过了:

// Routes.php

...
Route::group(array('before' => 'auth'), function()
{
    Route::controller('showSecret', 'HomeController');
});
...

以下是其他页面:

// HomeController.php

...
public function showSecret()
{
    return View::make('frontend/auth/secret');
}
...

和..:

// secret.blade.php

@extends('frontend/layouts/default')

@section('title')
    @parent
    :: Secret
@stop

@section('content')
    <p>content</p>
    <p>content</p>
@stop

什么都没发生,我做错了什么?我想要的只是一个简单的受保护的页面,一旦登录就会显示在用户的主页上!

我还在我的默认布局上显示内容部分:

...
<!-- Content -->
@section('content')
@show
...

先谢谢你 -J

2 个答案:

答案 0 :(得分:0)

尝试使用Route :: get('secret',array('uses'=&gt;'HomeController @ showSecret'));

答案 1 :(得分:0)

相当简单的修复,只需改变我想要的方式。我最终将get('/'...)路由放在我的auth数组中,并将其指向用户的配置文件。然后将我的“auth”过滤器更改为指向用户可以登录或注册的欢迎页面。

// Routes.php
...
Route::group(array('before' => 'auth'), function()
{
    Route::get('/', array('as' => 'home', 'uses'=>'UserController@getProfile'));
});
Route::get('welcome', array('uses' => 'HomeController@getIndex'));
...


// Filters.php
...
Route::filter('auth', function()
{
    if (Auth::guest()) return Redirect::guest('welcome');
});
...