2017-08-10 2 views
0

ここにコードがあります。ユーザーが入力した値はPOST_USERNAME & POST_PASSWORDに格納されています。これをdbの値と比較して印刷します。変数を照会して、それをinfluxdbの値と比較したい

@app.route('/') 
def log(): 
    if not session.get('logged_in'): 
     return render_template('login.html') 
    else: 
     return "Hello " 

@app.route('/login', methods=['POST']) 
def do_admin_login(): 
    POST_USERNAME = str(request.form['username']) 
    POST_PASSWORD = str(request.form['password']) 
    result=client.query("SELECT * FROM signup WHERE username = 
'POST_USERNAME'") 
    return '{}'.format(result) 

答えて

1

私はinfluxdbcredentialsを格納するための技術の良い選択ではないと思います。これはtime-seriesデータベースであり、温度などのmeasurementsのポイントデータを格納するように設計されています。基本的に統計として表示する価値があるもの。 measurementを通常のリレーショナルデータベースtableとして扱うべきではありません。

私の知る限り、Influxdbは現在fieldためmask値とtag値に能力を持っていません。セキュリティの観点からは、ユーザpasswordをプレーンテキストとして保存することは賢明ではありません。

ただし、認証を外部委託できないという意味ではありません。influxdb。つまり、資格情報をmeasurementに保存するのではなく、アプリケーションのユーザーアカウントを表すinfluxdbユーザーアカウントを作成します。そして、代わりに通常のcredential検証を行うために定期的にSELECT文を行うので、あなたが認証するためにinfluxサーバーへHTTP呼び出しを行います、ユーザーを認証する

ただし、あなたが迅速な勝利を求めている場合を除きます。 auth機能が基本的にinfluxdbの慈悲であるため、私はこの道を進むことをお勧めしません。

influxで認証を管理する方法については、以下のリンクを参照してください。

参考文献:

Influxdb認証: https://docs.influxdata.com/influxdb/v1.3/query_language/authentication_and_authorization/

関連する問題