我正在尝试弄清楚如何测试 Laravel 4 中的登录用户是否可以访问正确的用户帐户。
目前这就是我的routes.php 文件中的内容。
Route::get('user/{id}', array('before' => 'auth', function(){
// logged in user
// but can visit any account!!
}));
我如何限制这一点,以便 user/1 只能看到配置文件(如果这是当前登录的用户 ID)?
Auth::user()->id
返回要测试的登录 id,但我不知道如何编写一个过滤器来检查它是否等于 url 中的 {id}。
请帮忙!
谢谢。
通过 Laravel irc 频道获得了一些帮助。
这就是我所采用的方式。
Route::filter('user', function($route, $request)
{
if( $request->segment(2) != Auth::user()->id)
{
return Redirect::to('/login');
}
});
然后按照我的路线做。
Route::get('user/{id}', array('before' => 'auth|user', 'uses' => 'UsersController@index'));
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)