def query(self, query): #print query query = query.strip() try: from ebkus.app import protocol protocol.write_sql_protocol(sql=query) except: # hat für die Funktionalität keine Bedeutung logging.exception("Probleme beim SQL-Protokollieren") cursor = self.dbhandle.cursor() is_select = query[:6].lower() == 'select' try: logging.debug("Datenbankzugriff: \n%s", query) # for MySQLdb 1.2.2 MODIFE if self._mysqldb_needs_unicode and not isinstance(query, unicode): query = query.decode('latin1') e_res = cursor.execute(query) logging.debug("Resultat (execute): %s", e_res) if is_select: f_res = cursor.fetchall() logging.debug("Resultat (fetchall):\n%s", f_res) # schöner, aber overhead für jeden Request auch ohne debugging logging.debug("Resultat (fetchall):\n%s", '\n'.join([str(e) for e in f_res])) return f_res else: return e_res except Exception, e: logging.debug("Fehler beim Datenbankzugriff:", exc_info=True) raise
def processForm(self, REQUEST, RESPONSE): write_sql_protocol( artdeszugriffs='LOGOUT : Benutzer (%s) hat sich abgemeldet' % self.user, username=self.user, ip=self.ip) if self.session: self.session.expire(RESPONSE) meldung = { 'titel':'Abmeldung vom EBKuS System','legende':'Abmeldung', 'zeile1':'Sie wurden vom EBKuS System abgemeldet','url':'login', 'zeile2': '' } return meldung_weiterleitung_t % meldung
def processForm(self, REQUEST, RESPONSE): write_sql_protocol( artdeszugriffs="LOGOUT : Benutzer (%s) hat sich abgemeldet" % self.user, username=self.user, ip=self.ip ) if self.session: self.session.expire(RESPONSE) meldung = { "titel": "Abmeldung vom EBKuS System", "legende": "Abmeldung", "zeile1": "Sie wurden vom EBKuS System abgemeldet", "url": "login", "zeile2": "", } return meldung_weiterleitung_t % meldung
def processForm(self, REQUEST, RESPONSE): res = [] username = self.form.get("username") password = self.form.get("pass") if username is None: res.append(head_normal_ohne_help_t % ("EBKuS Benutzeranmeldung")) res.append(login_interface_t % {"index_url": "/ebkus/%s/index.html" % config.INSTANCE_NAME}) return "".join(res) try: mitarbeiter = Mitarbeiter(ben=username, stat=cc("status", "i")) except: write_sql_protocol( artdeszugriffs="LOGIN : Ungültiger Benutzername (%s)" % username, username=username, ip=self.ip ) meldung = { "titel": "Ungültiger Benutzername!", "legende": "Ungültiger Benutzername!", "zeile1": "Sie haben einen ungültigen Benutzernamen eingegeben.", "zeile2": "Bitte versuchen Sie es erneut.", } res.append(meldung_t % meldung) return "".join(res) if not mitarbeiter["pass"] == sha.new(password).hexdigest(): write_sql_protocol( artdeszugriffs="LOGIN : Falsches Passwort (%s)" % username, username=username, ip=self.ip ) meldung = { "titel": "Falsches Passwort!", "legende": "Falsches Passwort!", "zeile1": "Sie haben ein falsches Passwort eingegeben.", "zeile2": "Bitte versuchen Sie es erneut.", } res.append(meldung_t % meldung) return "".join(res) other_session = has_session(username) if other_session: # Es gibt noch eine Session desselben Benutzers, die # nicht mit einem logout oder durch Timeout beendet wurde. other_session.delete() if mitarbeiter["pass"] == sha.new(username).hexdigest(): # Passwort ist identisch mit dem Benutzernamen weiterleitung = "pwchange" else: weiterleitung = "menu" self.session = create_session(username, self.RESPONSE) res.append(head_weiterleitung_t % ("Willkommen bei EBKuS", "2", weiterleitung)) res.append(login_meldung_t % mitarbeiter) write_sql_protocol(artdeszugriffs="LOGIN : Gültiges Login (%s)" % username, username=username, ip=self.ip) return "".join(res)
def processForm(self, REQUEST, RESPONSE): res = [] username = self.form.get('username') password = self.form.get('pass') if username is None: res.append(head_normal_ohne_help_t % ("EBKuS Benutzeranmeldung")) res.append(login_interface_t % {'index_url': "/ebkus/%s/index.html" % config.INSTANCE_NAME}) return ''.join(res) ml = MitarbeiterList(where="ben = '%s' and stat = %s" % (username, cc('status', 'i'))) if not ml: write_sql_protocol( artdeszugriffs='LOGIN : Ungültiger Benutzername (%s)' % username, username=username, ip=self.ip) meldung = { 'titel':'Ungültiger Benutzername!','legende':'Ungültiger Benutzername!', 'zeile1':'Sie haben einen ungültigen Benutzernamen eingegeben.', 'zeile2':'Bitte versuchen Sie es erneut.' } res.append(meldung_t % meldung) return ''.join(res) mitarbeiter = ml[0] if not mitarbeiter['pass'] == sha.new(password).hexdigest(): write_sql_protocol(artdeszugriffs='LOGIN : Falsches Passwort (%s)' % username, username=username, ip=self.ip) meldung = { 'titel':'Falsches Passwort!','legende':'Falsches Passwort!', 'zeile1':'Sie haben ein falsches Passwort eingegeben.', 'zeile2':'Bitte versuchen Sie es erneut.' } res.append(meldung_t % meldung) return ''.join(res) other_session = has_session(username) if other_session: # Es gibt noch eine Session desselben Benutzers, die # nicht mit einem logout oder durch Timeout beendet wurde. other_session.delete() if mitarbeiter['pass'] == sha.new(username).hexdigest(): # Passwort ist identisch mit dem Benutzernamen weiterleitung = 'pwchange' else: weiterleitung = 'menu' self.session = create_session(username, self.RESPONSE) res.append(head_weiterleitung_t % ("Willkommen bei EBKuS","2", weiterleitung)) res.append(login_meldung_t % mitarbeiter) write_sql_protocol(artdeszugriffs='LOGIN : Gültiges Login (%s)' % username, username=username, ip=self.ip) return ''.join(res)