示例#1
0
 def validate_temp_session(self, value):
   from kay.auth.models import TemporarySession
   try:
     session = TemporarySession.get(value)
     user = session.user
   except Exception, e:
     logging.warn(e)
     raise ValidationError(_(u"Invalid temporary session."))
示例#2
0
文件: views.py 项目: soha/BooksGoten
def reset_password(request, session_key):
    form = ResetPasswordForm()
    if request.method == "GET":
        try:
            temporary_session = TemporarySession.get(session_key)
        except Exception:
            # BadKeyError ... etc
            temporary_session = None
        if temporary_session is None:
            return Forbidden("Temporary Session might be expired.")
        # TODO: acquire new temporary session
        new_session = TemporarySession.get_new_session(temporary_session.user)
        temporary_session.delete()
        form.data["temp_session"] = str(new_session.key())
    elif request.method == "POST" and form.validate(request.form):
        new_session = TemporarySession.get(form["temp_session"])
        user = new_session.user
        user.set_password(form["new_password"])
        new_session.delete()
        return render_to_response("auth/reset_password_success.html")
    return render_to_response("auth/reset_password.html", {"form": form.as_widget()})
示例#3
0
def reset_password(request, session_key):
    form = ResetPasswordForm()
    if request.method == 'GET':
        try:
            temporary_session = TemporarySession.get(session_key)
        except Exception:
            # BadKeyError ... etc
            temporary_session = None
        if temporary_session is None:
            return Forbidden("Temporary Session might be expired.")
        # TODO: acquire new temporary session
        new_session = TemporarySession.get_new_session(temporary_session.user)
        temporary_session.delete()
        form.data['temp_session'] = str(new_session.key())
    elif request.method == 'POST' and form.validate(request.form):
        new_session = TemporarySession.get(form['temp_session'])
        user = new_session.user
        user.set_password(form['new_password'])
        new_session.delete()
        return render_to_response("auth/reset_password_success.html")
    return render_to_response("auth/reset_password.html",
                              {"form": form.as_widget()})
示例#4
0
文件: views.py 项目: soha/BooksGoten
def request_reset_password(request):
    form = ResetPasswordRequestForm()
    message = ""
    if request.method == "POST" and form.validate(request.form):
        try:
            auth_model_class = import_string(settings.AUTH_USER_MODEL)
        except (ImportError, AttributeError), e:
            raise ImproperlyConfigured, 'Failed to import %s: "%s".' % (settings.AUTH_USER_MODEL, e)
        user = auth_model_class.get_by_user_name(form["user_name"])
        if user is None:
            return render_to_response("auth/no_such_user.html", {"user_name": form["user_name"]})
        else:
            temporary_session = TemporarySession.get_new_session(
                user, additional_tq_url="_internal/send_reset_password_instruction", tq_kwargs={"user_key": user.key()}
            )
            return render_to_response("auth/reset_password_finish.html")
示例#5
0
def post_session(request):
    if request.method == "GET":
        from models import TemporarySession
        temporary_session = TemporarySession.get_by_key_name(
            request.values.get("session_id"))
        if temporary_session is not None:
            temporary_session.delete()
            import datetime
            allowed_datetime = datetime.datetime.now() - \
                datetime.timedelta(seconds=10)
            if temporary_session.created > allowed_datetime:
                from kay.sessions import renew_session
                renew_session(request)
                request.session['_user'] = temporary_session.user.key()
                return redirect(unquote_plus(request.values.get('next')))
    return Response("Error")
示例#6
0
def post_session(request):
  if request.method == "GET":
    from models import TemporarySession
    temporary_session = TemporarySession.get_by_key_name(
      request.values.get("session_id"))
    if temporary_session is not None:
      temporary_session.delete()
      import datetime
      allowed_datetime = datetime.datetime.now() - \
          datetime.timedelta(seconds=10)
      if temporary_session.created > allowed_datetime:
        from kay.sessions import renew_session
        renew_session(request)
        request.session['_user'] = temporary_session.user.key()
        return redirect(unquote_plus(request.values.get('next')))
  return Response("Error")
示例#7
0
def request_reset_password(request):
    form = ResetPasswordRequestForm()
    message = ""
    if request.method == 'POST' and form.validate(request.form):
        try:
            auth_model_class = import_string(settings.AUTH_USER_MODEL)
        except (ImportError, AttributeError), e:
            raise ImproperlyConfigured, \
                'Failed to import %s: "%s".' % (settings.AUTH_USER_MODEL, e)
        user = auth_model_class.get_by_user_name(form['user_name'])
        if user is None:
            return render_to_response("auth/no_such_user.html",
                                      {"user_name": form["user_name"]})
        else:
            temporary_session = TemporarySession.get_new_session(
                user,
                additional_tq_url='_internal/send_reset_password_instruction',
                tq_kwargs={"user_key": user.key()})
            return render_to_response("auth/reset_password_finish.html")
示例#8
0
 def store_user(self, user):
     from kay.auth.models import TemporarySession
     session = TemporarySession.get_new_session(user)
     return session
示例#9
0
文件: datastore.py 项目: IanLewis/kay
 def store_user(self, user):
   from kay.auth.models import TemporarySession
   session = TemporarySession.get_new_session(user)
   return session