测试登录用户在 Laravel 4 中具有正确的 id
Posted
技术标签:
【中文标题】测试登录用户在 Laravel 4 中具有正确的 id【英文标题】:Test logged in user has correct id in Laravel 4 【发布时间】:2013-03-22 04:13:32 【问题描述】:我正在研究如何测试 Laravel 4 中的登录用户是否可以访问正确的用户帐户。
目前这是我的 routes.php 文件中的内容。
Route::get('user/id', array('before' => 'auth', function()
// logged in user
// but can visit any account!!
));
如果这是当前登录的用户 ID,我如何将其限制为 user/1 只能看到配置文件?
Auth::user()->id
返回要测试的登录 id,但我不知道如何编写一个过滤器来检查它是否等于 url 中的 id。
请帮忙! 谢谢。
【问题讨论】:
【参考方案1】:通过 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'));
【讨论】:
以上是关于测试登录用户在 Laravel 4 中具有正确的 id的主要内容,如果未能解决你的问题,请参考以下文章
如何在登录具有 Spatie 的 Laravel 权限的用户之前检查用户角色?