1

我正在使用 Flask-Login 来管理我的应用程序上的用户,并且我还让用户在登录时加入房间。

登录完成后,前端会发出一条消息,让用户加入房间。

#User Room
@socketio.on('joinUserRoom')
@login_required
def join_user_room():
    room=current_user.slug
    join_room(room)

问题是这个 login_required 永远不会被验证。我因未经授权而失败。即使用户刚刚登录。当我删除 @login_required 并在其中放入 print(current_user) 时,我得到了匿名用户 mixin。

('CURRENT USER JOIN ROOM', <flask_login.AnonymousUserMixin object at 0x7ff40410fcd0>)

我尝试了一堆疯狂的东西,但似乎没有任何效果,有什么想法吗?

4

1 回答 1

0

尝试使用命名空间,

#User Room
@socketio.on('joinUserRoom', namespace='/test')
@login_required
def join_user_room():
    room=current_user.slug
    join_room(room)
    emit('my response', {'data': username + ' has joined'}, room=room, broadcast=True)
于 2015-06-22T04:59:09.030 回答