mar*_*wie 6 authentication laravel laravel-4
我正在尝试研究如何测试Laravel 4中的登录用户是否可以访问正确的用户帐户.
目前这是我的routes.php文件中的内容.
Route::get('user/{id}', array('before' => 'auth', function(){
// logged in user
// but can visit any account!!
}));
Run Code Online (Sandbox Code Playgroud)
我如何限制这个,所以user/1只能看到配置文件,如果这是当前登录的用户ID?
Auth::user()->id
Run Code Online (Sandbox Code Playgroud)
返回要测试的登录ID,但我无法弄清楚如何编写一个过滤器来检查它是否等于url中的{id}.
请帮忙!谢谢.
通过Laravel irc频道获得了一些帮助.
这就是我的方式.
Route::filter('user', function($route, $request)
{
if( $request->segment(2) != Auth::user()->id)
{
return Redirect::to('/login');
}
});
Run Code Online (Sandbox Code Playgroud)
然后在我的路线上做.
Route::get('user/{id}', array('before' => 'auth|user', 'uses' => 'UsersController@index'));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2833 次 |
| 最近记录: |