コード例 #1
0
ファイル: User.py プロジェクト: swallat/DiSSOmniaG
 def addUser(username, password, publicKey = None, isAdmin = None,
                     loginRPC = None, loginSSH = None,
                     loginManhole = None, isHtpasswd = None):
     session = Session()
     try:
         thisUser = session.query(User).filter(User.username == username).one()
         thisUser.saveNewPassword(password)
         if publicKey:
             thisUser.addKey(publicKey)
         if isAdmin != None:
             thisUser.isAdmin = isAdmin
         if loginRPC != None:
             thisUser.loginRPC = loginRPC
         if loginSSH != None:
             thisUser.loginSSH = loginSSH
         if loginManhole != None and thisUser.isAdmin:
             thisUser.loginManhole = loginManhole
         if isHtpasswd != None:
             thisUser.isHtpasswd = isHtpasswd
         dissomniag.saveCommit(session)
         return thisUser                 
     except (NoResultFound, MultipleResultsFound):
         if isAdmin == None:
             isAdmin = False
         if loginRPC == None:
             loginRPC = False
         if loginSSH == None:
             loginSSH = False
         if loginManhole == None:
             loginManhole = False
         if isHtpasswd == None:
             isHtpasswd = False
         return User(username, password, publicKey, isAdmin, loginRPC, loginSSH, loginManhole, isHtpasswd)
コード例 #2
0
ファイル: User.py プロジェクト: swallat/DiSSOmniaG
 def loginRPCMethod(username, passwd = None):
     if not passwd:
         return LOGIN_SIGN.SECRET_UNVALID, None
     
     session = Session()
     try:
         user = session.query(User).filter(User.username == username).one()
     except (NoResultFound, MultipleResultsFound):
         return LOGIN_SIGN.NO_SUCH_USER, None
     if not user.loginRPC:
         return LOGIN_SIGN.UNVALID_ACCESS_METHOD, None
     return User._loginViaPasswd(user, passwd)
コード例 #3
0
ファイル: User.py プロジェクト: swallat/DiSSOmniaG
 def loginSSHMethod(username, passwd = None, key = None):
     if not passwd and not key:
         return LOGIN_SIGN.SECRET_UNVALID, None
     session = Session()
     try:
         user = session.query(User).filter(User.username == username).one()
     except (NoResultFound, MultipleResultsFound):
         return LOGIN_SIGN.NO_SUCH_USER, None
     if not user.loginSSH:
         return LOGIN_SIGN.UNVALID_ACCESS_METHOD, None
     """If Public Key was provided"""
     if not passwd:
         return User._loginViaPubKey(user, key)
     else:
         return User._loginViaPasswd(user, passwd)
コード例 #4
0
ファイル: User.py プロジェクト: swallat/DiSSOmniaG
 def loginManholeMethod(username, passwd = None, key = None):
     if not passwd and not key:
         return LOGIN_SIGN.SECRET_UNVALID, None
     session = Session()
     try:
         user = session.query(User).filter(User.username == username).one()
     except (NoResultFound, MultipleResultsFound):
         return LOGIN_SIGN.NO_SUCH_USER, None
     """Check that only admins have access to the Manhole backend"""
     if not user.isAdmin and not user.loginManhole:
         return LOGIN_SIGN.UNVALID_ACCESS_METHOD, None
     """If Public Key was provided"""
     if not passwd:
         return User._loginViaPubKey(user, key)
     else:
         return User._loginViaPasswd(user, passwd)