如何解决Laravel权限仍然允许我访问页面
我正试图阻止用户访问页面。我在laravel应用中使用https://spatie.be/docs/laravel-permission/v3/introduction。
我遇到的问题是,即使关闭了权限,用户仍然可以访问页面。
因此,我有一个名为user-info.blade.php的页面,该页面允许用户读取和更新用户的信息,并且只有特定的人才能这样做。
我有2个权限manage users
和view users
。 manage users
允许您更新和删除用户,而view users
仅允许您查看用户。
我遇到的问题是,当我为某个用户关闭manage users
时,该用户仍然可以访问该页面。我所有的UI内容都消失了,就像按钮一样,但是
如果我直接从url转到该页面,我仍然可以访问它。
这是在我的api.php
Route::get('/manage-users',[ UserController::class,'manageUsers'])->middleware('can:manage users');
Route::get('/users','getUsers'])->middleware('can:view users');
我不确定要在问题中添加什么其他代码或要提供什么其他信息。
解决方法
(我希望将我的答案作为评论,但由于无法发表评论,因此我将其发布为答案。)
如果我了解您的 user-info.blade.php 页面可同时获得manage users
和view users
权限。在这种情况下,关闭manage users
权限只会阻止他们更新信息,他们仍然可以查看数据(这意味着他们可以访问页面)。如果您不希望他们访问页面,则可能也需要关闭view users
。
我不明白您为什么使用api
来阻止用户访问页面。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。