2016-07-14 167 views
0

我試圖在成功登錄後重定向頁面,但我仍然遇到同樣的問題。在燒瓶登錄url重定向

我的登錄代碼:

@app.route('/login/', methods = ['GET', 'POST']) 
def login(): 
    if request.method == 'POST': 
     #data = request.get_json() 
     #app.logger.debug(data) 
     auth = g.couch.get('_design/authentication') 
     authView = ViewDefinition('_design/authentication','authentication',auth['views']['authentication']['map']) 
     for row in authView(): 
      if request.form['username'] == row.value['username'] and request.form['password'] == row.value['password']: 
       authUser = userModel.User(row.value) 
       app.logger.debug(row.value) 
       authUser.authenticated = True; 
       flask_login.login_user(authUser,remember = True) 
       next = request.args.get('next') 
       return redirect(next or url_for('/protected/')) 
    return render_template('sampleLoginPage.html') 

@app.route('/protected/', methods = ['GET']) 
@flask_login.login_required 
def protected(): 
    app.logger.debug("Successful Login") 
    app.logger.debug(flask_login.current_user.userID) 
    return Response(json.dumps({'message' : '\'You\'re logged in so you can see this page'+flask_login.current_user.username}), mimetype = 'application/json') 

HTML模板拿起用戶名和密碼。我有一個用於驗證用戶的couchdb視圖。

當我進入我的登錄憑據,網址重定向到http://192.168.1.109:5000/login/?next=%2Fprotected%2F

我沒有完全理解的文檔。有人能夠更好地解釋這個概念嗎?我爲什麼得到這個?

當我嘗試將它連接到我的angularjs前端時,這也會出現。

的問候,蘇尼爾

+0

你可以顯示你的'flask_login'' user_loader'函數嗎? – Wombatz

+0

嗨Wombatz,對不起,遲到的迴應。看起來前端存在問題(我正在使用AngularJS)。當我使用郵遞員或瀏覽器時,登錄功能完美無缺。只有當我通過應用模擬器訪問它時,它纔會拋出這個錯誤。 – galeej

回答

0

我有這個問題爲好。當我從聲明中刪除@login_required時,重定向按預期工作。