elo*_*dev 4 php restful-authentication laravel-4
我想知道laravel 4以下是可能的.我有一个过滤器来检查用户是否在具有user/*的所有路由上进行身份验证.我的过滤器正如它所设想的那样工作,但是让我们说用户登录后url会看起来像这样user/id.如何阻止经过身份验证的用户查看其他用户?
另一种方法是更改您的网址..为什么网址像user/{id}?只需将其更改为例如
user/profile
Run Code Online (Sandbox Code Playgroud)
并在控制器内执行以下操作:
$user = Auth::user();
Run Code Online (Sandbox Code Playgroud)
这样用户只是假不能是id ..我只在管理区域使用带有id的网址,我需要编辑一些用户:
/admin/{id}/edit
Run Code Online (Sandbox Code Playgroud)
在您的Auth过滤器中,您可以访问路由参数 ( 'user/{id}') 并可以id使用id传入的url类似检查登录用户
Route::filter('auth', function($route)
{
// get the id from rouqe
$id = $route->getParameter('id');
if( Auth::check() && Auth::user()->id != $id) {
// not authenticated user, so access is denied
return Redirect::to('/');
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2984 次 |
| 最近记录: |