def __init__(self, queryInfo = None): if queryInfo is None: self.queryInfo = query.queryInfo() else: self.queryInfo = prosedoQueryInfo(queryInfo) self.cookie = self.queryInfo.getCookie() self.sysUser = ufsUser(u'system.user', u'system.pass') ncl(os.path.abspath(logFile)) try: ncl(self.cookie) ncl(self.cookie[gSessionCookieName].value) sessionId = unicode(self.cookie[gSessionCookieName].value) ncl('req sessionId:'+sessionId) except KeyError: sessionId = None if (sessionId is None) or (sessionId.find(u':')!=-1): sessionId = unicode(str(uuid.uuid4())) ncl('sessionId:'+sessionId) self.session = sess.session(sessionId, dbSys.dbSysSmart(self.sysUser).getDb("sessionInfoDb")) self.resp = response.html() self.thiscookie = Cookie.SimpleCookie() timeoutSeconds = 60*60*24*15#15 days? self.thiscookie[gSessionCookieName] = sessionId self.thiscookie[gSessionCookieName]['path'] = '/' expires = datetime.utcnow() + timedelta(hours=1) self.thiscookie[gSessionCookieName]['expires'] = expires.strftime('%a, %d %b %Y %H:%M:%S') # Wdy, DD-Mon-YY HH:MM:SS GMT self.resp.setCookie(self.thiscookie)
def exportDb(targetDir, password=None, hostname=None): dbSysInst = dbSys.dbSysSmart() startTime = findLastTimestamp(targetDir, hostname) endTime = dbSysInst.getTimeStamp() finalRes = dbSysInst.exportDb(startTime, endTime, hostname) if len(finalRes) == 0: print "no update need to be exported" return finalRes = dictListDecryptor(finalRes) timeStampName = "%s-%s" % (startTime, endTime) package = {"backup-id": unicode(str(uuid.uuid4())), "time-duration": timeStampName} if password is None: package["add"] = finalRes fullname = "%s_%s.noenc.json" % (hostname, timeStampName) else: fullname = "%s_%s.json" % (hostname, timeStampName) en = enc.encryptorBase64Out(password) finalRes = dictListEncryptor(finalRes, en) package["encPass"] = unicode(str(md5.new(password + timeStampName).hexdigest())) package["add"] = finalRes targetFullPath = os.path.join(targetDir, fullname) s = json.dumps(package, sort_keys=True, indent=4) # s = json.dumps(package) f = open(targetFullPath, "w") f.write(s) f.close()
def __init__(self, sessionBus, objectPath): dbus.service.Object.__init__(self, sessionBus, objectPath) sessInst = simpleSysUser() dbSysInst = ufsDbSingleUser.dbSysSmart(sessInst) self.thumbDb = dbSysInst.getDb('thumbNew') self.pathDb = dbSysInst.getDb('pathNew') self.uuidDb = dbSysInst.getDb('uuidNew') self.existingIconRelativePath = 'wwjufsdatabase\\webapproot\\static\\icons\\' self.prodRootPath = getProdRoot()
def verifyLogin(self): p = self.queryInfo.getAllFieldStorageUnicode() ncl(p) if p.has_key(u'username') and p.has_key(u'passwd'): username = p[u'username'][0] passwd = p[u'passwd'][0] ncl("has keys") if userMan.userManager().verifyPasswd(username, passwd, dbSys.dbSysSmart(self.sysUser).getDb("passwdDb")): ncl("login ok:"+username+","+passwd) self.session[gPasswdPrefix+username] = passwd self.session[gPrimaryLoggedInNameKeyName] = username ncl(str(self.session[gPrimaryLoggedInNameKeyName])) self.session.append(gLoggedInNameListKeyName, username)
def importDb(input, username, targetPasswd, password = None): dbSysInst = dbSys.dbSysSmart() sf = open(input, 'r') package = json.load(sf) en = enc.encryptorBase64Out(password) l = package["add"] if (password is None) and package.has_key("encPass"): print 'need password for importing' return if (not (password is None)): if unicode(str(md5.new(password).hexdigest())) != package["encPass"]: print 'pass not match:', unicode(str(md5.new(password+package["time-duration"]).hexdigest())), package["encPass"] return else: l = listEncryptor.dictListDecryptor(l, en) sysUser = service.ufsUser(u'system.user', u'system.pass') if userMan.userManager().verifyPasswd(username, targetPasswd, dbSys.dbSysSmart(sysUser).getDb("passwdDb")): print 'importing' l = listEncryptor.dictListEncryptor(l, xorEnc.encryptorTxtOut(targetPasswd)) #print l l = listEncryptor.setUser(l, username) #print l dbSysInst.importDb(l)