我的应用程序的用户可以访问/static/pdf/目录中的一些pdf文件,其中包含多个站点(如station1、station2 a.s.o)的子目录。如果用户试图访问文件,该功能将在打开pdf之前检查用户是否具有打开所述站点文件的必要权限。如果用户只需单击我的应用程序中的链接,这一切都可以正常工作。但是,如果用户已经打开了pdf,现在手动输入另一个文件的路径,则该函数不会按预期进行重定向。我可以看到,在这些情况下,函数开始确认访问权限,但if b not in rights:部分不起作用。如果用户单击我的应用程序中的链接,该功能将正常工作。我做错了什么
@app.route('/static/pdf/<stationname>/<username>/<filename>')
@login_required
def filecheck(stationname, username, filename):
rights = session['rights']
access = Station.query.filter(Station.stationname==stationname)
for a in access:
b=a.id
if b not in rights:
flash('Access denied')
return redirect(url_for('data'))
return None
您正在访问上循环(对于访问中的a),并在每次迭代(b=a.id)时更改b的值。然后检查b是否不在权限范围内。只检查访问序列的最后一个元素。你就是这个意思吗
相关问题 更多 >
编程相关推荐