async def getTeleApi(self, link, mesg, path): auth = await self.getHiveAuth() if not self.conf.get('auth:en'): user = auth.getUserByName('root') return await HiveApi.anit(self, user) name, info = mesg[1].get('auth') user = auth.getUserByName(name) if user is None: raise s_exc.NoSuchUser(name=name) # passwd None always fails... passwd = info.get('passwd') if not user.tryPasswd(passwd): raise s_exc.AuthDeny(mesg='Invalid password', user=user.name) return await HiveApi.anit(self, user)
async def storm(core, item): ''' Storm implementation for SpawnCore use. ''' useriden = item.get('user') viewiden = item.get('view') storminfo = item.get('storm') opts = storminfo.get('opts') text = storminfo.get('query') user = core.auth.user(useriden) if user is None: raise s_exc.NoSuchUser(iden=useriden) view = core.views.get(viewiden) if view is None: raise s_exc.NoSuchView(iden=viewiden) async for mesg in view.streamstorm(text, opts=opts, user=user): yield mesg
def delUser(self, name): ''' Delete a user from the auth system. Args: name (str): The user name to delete. Returns: True: True if the operation succeeded. Raises: s_exc.NoSuchUser: If the user did not exist. ''' with self.lenv.begin(write=True) as xact: user = self.users.pop(name, None) if user is None: raise s_exc.NoSuchUser(user=name) uenc = name.encode('utf8') xact.delete(uenc, db=self._db_users) return True
async def reqUserByName(self, name): user = await self.getUserByName(name) if user is None: mesg = f'No user named {name}.' raise s_exc.NoSuchUser(mesg=mesg) return user
async def addUserRole(self, username, rolename): user = self.cell.auth.getUserByName(username) if user is None: raise s_exc.NoSuchUser(user=username) await user.grant(rolename)
async def setUserArchived(self, name, archived): user = self.cell.auth.getUserByName(name) if user is None: raise s_exc.NoSuchUser(user=name) await user.setArchived(archived)
async def setUserLocked(self, name, locked): user = self.cell.auth.getUserByName(name) if user is None: raise s_exc.NoSuchUser(user=name) await user.setLocked(locked)
def setUserLocked(self, name, locked): user = self.cell.auth.users.get(name) if user is None: raise s_exc.NoSuchUser(user=name) user.setLocked(locked)
def setUserPasswd(self, name, passwd): user = self.cell.auth.users.get(name) if user is None: raise s_exc.NoSuchUser(user=name) user.setPasswd(passwd)
async def setUserPasswd(self, name, passwd): user = self.cell.auth.getUserByName(name) if user is None: raise s_exc.NoSuchUser(user=name) await user.setPasswd(passwd)