사용자가 Flask-Security로 암호를 재설정하면 자동으로 로그인됩니다.이 자동 로그인을 방지하고 사용자가 수동으로 로그인해야합니다. 비밀번호를 재설정 한 후 logout_user
으로 전화를 걸거나 사용자가 자동으로 로그인하지 못하도록하려면 어떻게해야합니까?플라스크 보안 암호 재설정 후 자동 로그인 금지
0
A
답변
1
Flask-Security의 기본값 reset_password
보기 calls login_user
다음 리디렉션합니다. 을 건너 뛰는 옵션은 없습니다.
이 문제를 무시하려면 자신의보기를 작성하고 app.endpoint
이라는 기본보기 대신 해당보기를 가리 키도록 끝점을 변경해야합니다. 이 경우보기에서 기본 코드가 복사되지만 login_user
행은 삭제됩니다.
@app.endpoint(security.blueprint_name + '.reset_passowrd')
@anonymous_user_required
def reset_password(token):
########
# copied code from flask_security.views omitted
########
if form.validate_on_submit():
after_this_request(_commit)
update_password(user, form.password.data)
do_flash(*get_message('PASSWORD_RESET'))
########
# removed login_user call
########
return redirect(get_url(_security.post_reset_view) or
get_url(_security.post_login_view))
########
# copied code from flask_security.views omitted
########
말했다 모두, 나는이 일에 대해 조언한다. 그것은 내부 행동으로 엉망이며, 보안을 위해 실제로 아무것도하지 않습니다. 확장 프로그램의 코드가 변경되면 맞춤 코드에 반영되지 않습니다. 사용자가 리셋 토큰을 가지고있는 경우 사용자는 사용자 이름을 알고 원하는대로 비밀번호를 설정할 수 있습니다. 그 후에 로그인하는 것이 유용하지 않다면 이미 사용자 이름과 새 비밀번호가 있습니다.