问题描述
最近我在用python flask搭建一个简单的网站 但我很困惑如何避免未经授权的用户看到管理页面
虽然覆盖is_visible
和is_accessible
功能可以避免未经授权的用户查看或编辑数据库中的数据
但是所有用户仍然可以看到管理页面
我想在未经授权的用户尝试进入管理页面时将其重定向到索引页面,我该怎么做?
这是我使用 python3 编写的 AdminModeView
代码
# admin panel permission setting
class AdminModelView(ModelView):
def is_visible(self):
try:
if(current_user.auth == 'Admin'):
return True
else:
return False
except:
return False
def is_accessible(self):
try:
if(current_user.auth == 'Admin'):
can_create = True
can_edit = True
can_delete = True
return True
else:
return False
except:
return False
def inaccessible_callback(self,name,**kwargs):
# redirect to login page if user doesn't have access
return redirect(url_for('login',next=request.url))
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)