def __init__(self, filename, initialize=False): import sqlite3 self._filename = filename conn = self.get_conn() try: if initialize: users = users_mgmt(conn) roles = userroles_mgmt(conn) whitelist = whitelist_mgmt(conn) if (users.find_user('admin') is None): users.add_user('admin', self._encode_password('admin') , self.AUTH_ADMIN, 'init admin') #if (users.find_user('guest') is None): # users.add_user('guest', self._encode_password('guest'), self.AUTH_USER, 'init user') if (whitelist.find_ipaddr('127.0.0.1') is None): whitelist.add_ipaddr('127.0.0.1', 'loopback ipaddress') if (whitelist.find_ipaddr('localhost') is None): whitelist.add_ipaddr('localhost', 'localhost ipaddress') if (roles.find_role('special') is None): roles.add_role('special', self.AUTH_SPECIAL, 'Super user privilege') if (roles.find_role('admin') is None): roles.add_role('admin', self.AUTH_ADMIN, 'Management user privilege') if (roles.find_role('user') is None): roles.add_role('user', self.AUTH_USER, 'Common user privilege') except sqlite3.IntegrityError, e: conn.rollback()
def modify_user(self, username, passwd, role, desc, conn=None): if conn == None : return None, self.LOADDB_FAILED users = users_mgmt(conn) bret = users.modify_user(username, self._encode_password(passwd) , role, desc) self.mutex.acquire() if bret : storeuser = self._usersStore.get(username) if (storeuser != None) : storeuser['realpasswd'] = passwd self.mutex.release() return bret
def reset_password(self, user, newpasswd, conn=None): if conn == None : return None, self.LOADDB_FAILED users = users_mgmt(conn) bret = users.modify_passwd(user, self._encode_password(newpasswd)) self.mutex.acquire() if bret : storeuser = self._usersStore.get(user) if (storeuser != None) : storeuser['realpasswd'] = newpasswd self.mutex.release() return bret
def delete_user(self, user, conn=None): if conn == None : return None, self.LOADDB_FAILED users = users_mgmt(conn) bret = users.delete_user(user) self.mutex.acquire() if bret : try: storeuser = self._usersStore.get(user) if (storeuser != None) : self._usersStore.pop(user) except Exception, e: print repr(e)
def add_user(self, username, passwd, role, desc, conn=None): if conn == None : return None, self.LOADDB_FAILED users = users_mgmt(conn) return users.add_user(username, self._encode_password(passwd), role, desc)
def find_user(self, user, conn=None): if conn == None : return None, self.LOADDB_FAILED users = users_mgmt(conn) return users.find_user(user)
def show_user(self, conn=None): if conn == None : return None, self.LOADDB_FAILED users = users_mgmt(conn) return users.show_user()