Laravel权限仍然允许我访问页面

问题描述

我正试图阻止用户访问页面。我在laravel应用中使用https://spatie.be/docs/laravel-permission/v3/introduction

我遇到的问题是,即使关闭了权限,用户仍然可以访问页面

因此,我有一个名为user-info.blade.PHP页面,该页面允许用户读取和更新用户的信息,并且只有特定的人才能这样做。

我有2个权限manage usersview usersmanage 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 usersview users权限。在这种情况下,关闭manage users权限只会阻止他们更新信息,他们仍然可以查看数据(这意味着他们可以访问页面)。如果您不希望他们访问页面,则可能也需要关闭view users

我不明白您为什么使用api来阻止用户访问页面。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...