Pergunta

Eu só tenho feito configurar meu aplicativo para o trabalho com seguinte authlogic este exatamente

antes de começar eu já tinha criado um catálogo de produtos com funcionalidade básica CRUD.

Agora eu quero o catálogo de produtos para ser apenas acessível se o usuário está logado alread .. por isso, basicamente, se o usuário não está logado, deve ir para a página de login .. se ele é, então localhost: 3000 deve levá-lo para o catálogo de produtos .... estou realmente confuso ... Eu nem sei o que fazer para o logout ...

Em vez disso, agora, a ser logado e indo para localhost: 3000 redirecionamentos me para http: // localhost: 3000 / conta

ajuda por favor.

Tenho notado também que se eu ir para o meu catálogo de produtos ao ser logado eu recebo essa mensagem no topo f a página

"É necessário estar conectado para acessar esta página "

Foi útil?

Solução

Nacho, deixe-me sugerir-lhe assistir http://railscasts.com/episodes/160-authlogic

Deve responder a todas suas perguntas, e muito mais.

Em cima da minha cabeça ...

Comece com a criação de suas rotas se você não tiver:

  map.login 'login', :controller => 'user_sessions', :action => 'new'

map.logout 'Sair',: controller => 'user_sessions',: action => 'destruir'

Em seguida, fazê-lo em seu controlador aplicativo:

  before_filter :authenticate, :except => [:login, :logout, :destroy, :index, :new]

  private #--------------------

  def authenticate
    unless current_user
      flash[:notice] = "You must be loged in first"
      redirect_to(login_url)
      return false
    end
  end

  def current_user_session
    return @current_user_session if defined?(@current_user_session)
    @current_user_session = UserSession.find
  end

  def current_user
    return @current_user if defined?(@current_user)
    @current_user = current_user_session && current_user_session.record
  end

Isso deve equipá-lo para resolver os problemas acima mencionados. Se as pessoas não está logado, eles serão redirecionados para a página de login. Além disso, para sair ponto apenas para logout_url (localhost: 3000 / logout)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top