Flask-Security를 사용하여 사용자를 관리하고 사용자가 스스로 로그인했지만 성공적으로 페이지를로드하면 보고서가 표시됩니다. 완전히 다른 사람으로 기록되었습니다. 내가 어디로 잘못 가고 있는지 모르겠습니다. 이것이 일어날 수있는 가능한 방법은 무엇입니까?사용자가 다른 사용자로 로그인 한 것처럼 보입니다
나는 간단한 사용자 관리를 위해 UserService 사용자입니다. 모든 요청 전에 사용자 서비스를 인스턴스화하고 current_user를 전달합니다. 그런 다음
@app.before_request def load_request_services(): g.user_service = UserService(user_datastore, application_service, email_service, ORGS, current_user)
, 나는이 방법에서 UserService에서 현재 사용자를 얻을 :이 API 요청 코드가 실행될 때
def current_user_get_info(self): return { 'user': self.current_user.email, 'first_name': self.current_user.first_name, 'last_name': self.current_user.last_name, 'phone_number': self.current_user.phone_number, }
이
가 호출 :class CurrentUser(restful.Resource): def get(self): return json_response(g.user_service.current_user_get_info())
세션을 가지고 놀아 본 적이 있습니까? 'session [ "userid"]'는 Flask-Login/Security가 현재 사용자를 찾습니다 ([source] (https://github.com/maxcountryman/flask-login/blob/master/flask_login.py#L333-L347).)). 그래서 거기에서부터 시작할 가치가있을 것입니다. 그리고 여러분이 만든 코드로 나아가는 길을 찾으십시오. – Doobeh
나는 세션을 가지고 놀지 않는다. 그러나 내가 할 일은 login_user를 호출하고 새로운 로그인을 시행하지 않을 때 remember_me = True로 설정됩니다. 그러나 업데이트를 할 때마다 수시로 앱을 재배포합니다. 이게 회의를 망칠까요? 재배포 후 사용자가 사이트로 돌아 오면 모든 세션이 명확 해 집니까? 나는 앱이 세션 정보를 어딘가에 저장한다고 가정하고, 재배포 후에 아마도 사라질 것이다. 그러나 재배포 후 다시 로그인 할 필요는 없습니다. – vik
'app.secret_key'는 세션에 서명하는 데 사용되므로 재배포간에 동일하게 유지되면 세션은 여전히 유효합니다. – Doobeh