2016-12-02 186 views
0

我正嘗試通過使用路線/web/my_route從網頁中檢索username, password and database_name來創建用戶。它成功地創建了用戶。但我需要在網頁中添加一個字段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']對照。這是主管理員密碼。