我想知道你是否可以给我一些以下的建议/代码.
我有一个使用标准Laravel用户身份验证的身份验证系统.
登录后,用户可以添加/编辑博客帖子.
这很有效,编辑的URL如下
/blog/edit/3
Run Code Online (Sandbox Code Playgroud)
其中3是博客文章的ID.
我看到的问题是我登录并操纵URL我可以编辑任何博客帖子,即使它不属于我.
有什么方法可以对此进行排序,以便只有添加博客文章的人才能编辑博客文章吗?
干杯,
有很多方法可以做到这一点.我目前的偏好是使用自定义过滤器:
Route::model('blog', 'Blog');
Route::get('/blog/edit/{blog}', ['as' => 'blog.edit', 'before' => 'auth.blog', 'uses' => 'BlogController@edit']);
Run Code Online (Sandbox Code Playgroud)
然后在你的过滤器文件中
Route::filter('auth.blog', function($route, $request)
{
if ($route->parameter('blog')->user_id !== Auth::user()->id)
{
return Redirect::route('home')->with('error', 'sorry - you do not have access to that blog');
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1559 次 |
| 最近记录: |