示例#1
0
    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()
示例#2
0
 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
示例#3
0
 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
示例#4
0
 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)
示例#5
0
 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)
示例#6
0
 def find_user(self, user, conn=None):
     if conn == None : 
         return None, self.LOADDB_FAILED
     users = users_mgmt(conn)
     return users.find_user(user)
示例#7
0
 def show_user(self, conn=None):
     if conn == None : 
         return None, self.LOADDB_FAILED
     users = users_mgmt(conn)
     return users.show_user()