Example #1
0
            ensure_home_directory(request.fs, user.username)
          except (IOError, WebHdfsException), e:
            LOG.error(_('Could not create home directory.'), exc_info=e)
            request.error(_('Could not create home directory.'))

        access_warn(request, '"%s" login ok' % (user.username,))
        return HttpResponseRedirect(redirect_to)

      else:
        access_warn(request, 'Failed login for user "%s"' % (request.POST.get('username'),))

  else:
    first_user_form = None
    auth_form = AuthenticationForm()

  if DEMO_ENABLED.get() and not 'admin' in request.REQUEST:
    user = authenticate(username='', password='')
    login(request, user)
    ensure_home_directory(request.fs, user.username)
    return HttpResponseRedirect(redirect_to)

  request.session.set_test_cookie()
  return render('login.mako', request, {
    'action': urlresolvers.reverse('desktop.auth.views.dt_login'),
    'form': first_user_form or auth_form,
    'next': redirect_to,
    'first_login_ever': is_first_login_ever,
    'login_errors': request.method == 'POST',
    'backend_name': backend_name,
    'active_directory': is_active_directory
  })
Example #2
0
                    return HttpResponseRedirect(redirect_to)
            else:
                request.audit['allowed'] = False
                msg = 'Failed login for user: %s' % request.POST.get(
                    'username')
                request.audit['operationText'] = msg
                access_warn(request, msg)
                if from_modal or request.REQUEST.get('fromModal',
                                                     'false') == 'true':
                    return JsonResponse({'auth': False})

    else:
        first_user_form = None
        auth_form = AuthenticationForm()

    if DEMO_ENABLED.get() and not 'admin' in request.REQUEST:
        user = authenticate(username=request.user.username,
                            password='******')
        login(request, user)
        ensure_home_directory(request.fs, user.username)
        return HttpResponseRedirect(redirect_to)

    if not from_modal:
        request.session.set_test_cookie()

    renderable_path = 'login.mako'
    if from_modal:
        renderable_path = 'login_modal.mako'

    return render(
        renderable_path, request, {
Example #3
0
File: views.py Project: antbell/hue
                    return JsonResponse({"auth": True})
                else:
                    return HttpResponseRedirect(redirect_to)
            else:
                request.audit["allowed"] = False
                msg = "Failed login for user: %s" % request.POST.get("username")
                request.audit["operationText"] = msg
                access_warn(request, msg)
                if from_modal or request.REQUEST.get("fromModal", "false") == "true":
                    return JsonResponse({"auth": False})

    else:
        first_user_form = None
        auth_form = AuthenticationForm()

    if DEMO_ENABLED.get() and not "admin" in request.REQUEST:
        user = authenticate(username="", password="")
        login(request, user)
        ensure_home_directory(request.fs, user.username)
        return HttpResponseRedirect(redirect_to)

    request.session.set_test_cookie()

    renderable_path = "login.mako"
    if from_modal:
        renderable_path = "login_modal.mako"

    return render(
        renderable_path,
        request,
        {
Example #4
0
        request.audit['operationText'] = msg
        access_warn(request, msg)
        if from_modal or request.REQUEST.get('fromModal', 'false') == 'true':
          return JsonResponse({'auth': False})

  else:
    first_user_form = None
    auth_form = AuthenticationForm()
    # SAML user is already authenticated in djangosaml2.views.login
    if 'SAML2Backend' in backend_names and request.user.is_authenticated():
      try:
        ensure_home_directory(request.fs, request.user)
      except (IOError, WebHdfsException), e:
        LOG.error('Could not create home directory for SAML user %s.' % request.user)

  if DEMO_ENABLED.get() and not 'admin' in request.REQUEST and request.user.username != 'hdfs':
    user = authenticate(username=request.user.username, password='******')
    login(request, user)
    ensure_home_directory(request.fs, user.username)
    return HttpResponseRedirect(redirect_to)

  if not from_modal:
    request.session.set_test_cookie()

  renderable_path = 'login.mako'
  if from_modal:
    renderable_path = 'login_modal.mako'

  response = render(renderable_path, request, {
    'action': urlresolvers.reverse('desktop.auth.views.dt_login'),
    'form': first_user_form or auth_form,
Example #5
0
          return JsonResponse({'auth': True})
        else:
          return HttpResponseRedirect(redirect_to)
      else:
        request.audit['allowed'] = False
        msg = 'Failed login for user: %s' % request.POST.get('username')
        request.audit['operationText'] = msg
        access_warn(request, msg)
        if from_modal or request.REQUEST.get('fromModal', 'false') == 'true':
          return JsonResponse({'auth': False})

  else:
    first_user_form = None
    auth_form = AuthenticationForm()

  if DEMO_ENABLED.get() and not 'admin' in request.REQUEST and request.user.username != 'hdfs':
    user = authenticate(username=request.user.username, password='******')
    login(request, user)
    ensure_home_directory(request.fs, user.username)
    return HttpResponseRedirect(redirect_to)

  if not from_modal:
    request.session.set_test_cookie()

  renderable_path = 'login.mako'
  if from_modal:
    renderable_path = 'login_modal.mako'

  return render(renderable_path, request, {
    'action': urlresolvers.reverse('desktop.auth.views.dt_login'),
    'form': first_user_form or auth_form,
def dt_login(request):
  redirect_to = request.REQUEST.get('next', '/')
  is_first_login_ever = first_login_ever()
  backend_name = get_backend_name()
  is_active_directory = backend_name == 'LdapBackend' and ( bool(LDAP.NT_DOMAIN.get()) or bool(LDAP.LDAP_SERVERS.get()) )

  if is_active_directory:
    UserCreationForm = auth_forms.LdapUserCreationForm
    AuthenticationForm = auth_forms.LdapAuthenticationForm
  else:
    UserCreationForm = auth_forms.UserCreationForm
    AuthenticationForm = auth_forms.AuthenticationForm

  if request.method == 'POST':
    # For first login, need to validate user info!
    first_user_form = is_first_login_ever and UserCreationForm(data=request.POST) or None
    first_user = first_user_form and first_user_form.is_valid()

    if first_user or not is_first_login_ever:
      auth_form = AuthenticationForm(data=request.POST)

      if auth_form.is_valid():
        # Must login by using the AuthenticationForm.
        # It provides 'backends' on the User object.
        user = auth_form.get_user()
        userprofile = get_profile(user)

        login(request, user)

        if request.session.test_cookie_worked():
          request.session.delete_test_cookie()

        # For Bluemix - don't try to create HDFS home directory because we're ignoring the identity of the Hue user
        #if is_first_login_ever or backend_name in ('AllowAllBackend', 'LdapBackend'):
        #  # Create home directory for first user.
        #  try:
        #    ensure_home_directory(request.fs, user.username)
        #  except (IOError, WebHdfsException), e:
        #    LOG.error(_('Could not create home directory.'), exc_info=e)
        #    request.error(_('Could not create home directory.'))

        if require_change_password(userprofile):
          return HttpResponseRedirect(urlresolvers.reverse('useradmin.views.edit_user', kwargs={'username': user.username}))

        userprofile.first_login = False
        userprofile.save()

        access_warn(request, '"%s" login ok' % (user.username,))
        return HttpResponseRedirect(redirect_to)

      else:
        access_warn(request, 'Failed login for user "%s"' % (request.POST.get('username'),))

  else:
    first_user_form = None
    auth_form = AuthenticationForm()

  if DEMO_ENABLED.get() and not 'admin' in request.REQUEST:
    user = authenticate(username='', password='')
    login(request, user)
    ensure_home_directory(request.fs, user.username)
    return HttpResponseRedirect(redirect_to)

  request.session.set_test_cookie()
  return render('login.mako', request, {
    'action': urlresolvers.reverse('desktop.auth.views.dt_login'),
    'form': first_user_form or auth_form,
    'next': redirect_to,
    'first_login_ever': is_first_login_ever,
    'login_errors': request.method == 'POST',
    'backend_name': backend_name,
    'active_directory': is_active_directory
  })