2016-12-02 8 views
0

username, password and database_nameをWebページから/web/my_routeを使用して取得してユーザーを作成しようとしています。それはユーザーを正常に作成します。しかし、Webページにフィールドmaster_passwordを追加して、ユーザーを作成するためにそれを認証する必要があります。私はmaster_password認証機能を見つけることを試みたが、何もコードマスターパスワード認証?

@http.route('/web/database/create', type='json', auth="none") 
def create(self, fields): 
    params = dict(map(operator.itemgetter('name', 'value'), fields)) 
    db_created = request.session.proxy("db").create_database(
     params['super_admin_pwd'], 
     params['db_name'], 
     bool(params.get('demo_data')), 
     params['db_lang'], 
     params['create_admin_pwd']) 
    if db_created: 
     request.session.authenticate(params['db_name'], 'admin', params['create_admin_pwd']) 
    return db_created 

以下を除いて見つけていないしかし、私は機能create_databaseを見つけることができませんでした。 どうすればいいですか?なにか提案を ??

+0

あなたが見つけたコードには全く新しいodooデータベースを作成することが含まれていますが、これはおそらくあなたが望むものではありません。フィールドmaster_passwordを追加する必要がありますか?どうして? – raarts

+0

私は複数のデータベースを持っているので、私はすべてのデータベースのためにsuper_adminが必要です、それは私が作成しようとしているものです。今はすべて正常に動作しますが、master_passwordを使用して認証できる場合は誰でもこの認証を使用することができます。 – KbiR

+0

データベースのres_usersテーブル(リストから選んだ)にユーザーを作成し、そのページを保護したいというページが正しくあることを私は正しく理解していますか?そして、どこかに保存するmaster_passwordを作成したいのですか? – raarts

答えて

1

フォームにフィールドを作成し、送信時にodoo.tools.config['admin_passwd']と照合してください。これがマスター管理者のパスワードです。

関連する問題