设置为“False可访问”后仍可访问视图的flask admin url

设置为“False可访问”后仍可访问视图的flask admin url,flask,flask-admin,Flask,Flask Admin,我希望基于安全角色保护对我的视图的访问。例如,我建立了: class AdminView(ModelView): def is_accessible(self): return current_user.has_role('admin') 及 逻辑是这样的:当我使用非管理员用户登录时,我看不到用户表,当我使用管理员用户登录时,我看到它 但是 输入url localhost/admin/user 对于管理员和非管理员,仍然允许每个用户访问用户表。我如何使用fla

我希望基于安全角色保护对我的视图的访问。例如,我建立了:

class AdminView(ModelView):    
    def is_accessible(self):
        return current_user.has_role('admin')

逻辑是这样的:当我使用非管理员用户登录时,我看不到用户表,当我使用管理员用户登录时,我看到它

但是

输入url

localhost/admin/user

对于管理员和非管理员,仍然允许每个用户访问用户表。我如何使用flask Admin来保护url不被非管理员访问?(老实说,我本来希望
def是可访问的()
来管理它。)

您可以在视图中添加
@login\u required
装饰器()&因为您使用的是flask安全性,它部分构建在flask登录之上,该装饰器可能已经存在。

您可以将
@login\u required
装饰器添加到您的视图()&因为您使用的是部分构建在flask登录之上的flask安全性,该装饰器可能已经存在。

事实上,这对我没有帮助,因为我基于角色。权限,该角色可以查看管理员在运行时可以使用的视图。这就是为什么我需要在flask Admin视图的类定义中找到一些解决方案。好的,我看到了你的问题。您可以首先构建自己的路线装饰器。或者,查看Flask Principal扩展:因为我已经让Flask安全工作了,其中包括Flask Principal,我不明白,你在评论的最后一句话中想告诉我什么。实际上,这对我没有帮助,因为我有基于角色的。权限,该角色可以查看管理员在运行时可以使用的视图。这就是为什么我需要在flask Admin视图的类定义中找到一些解决方案。好的,我看到了你的问题。您可以首先构建自己的路线装饰器。或者,查看Flask Principal扩展:因为我已经让Flask安全工作了,其中包括Flask Principal,我不明白,您在评论的最后一句想告诉我什么。有一个处理基于Flask Admin角色的权限的自包含示例。有一个处理基于Flask Admin角色的权限的自包含示例。
localhost/admin/user