2009-11-09 2 views
0

Я только что сделал настройки моего приложения для работы с authlogic следующих this точнопомощи с authlogic

перед началом я уже создал каталог продукции с базовой функциональностью CRUD.

Прямо сейчас я хочу, чтобы каталог продуктов был доступен только в том случае, если пользователь был зарегистрирован на стороне. Поэтому, в основном, если пользователь не зашел в систему, он должен перейти на страницу входа в систему. Если он есть, то localhost: 3000 должен забрать его в каталог продуктов .... я действительно смутил ... Я даже не знаю, что делать, чтобы выйти ...

Вместо этого прямо сейчас, вошедший в систему и идущий на localhost: 3000 перенаправляет меня до http://localhost:3000/account

помогите пожалуйста.

Я также заметил, что если я иду в каталог моей продукции, будучи зарегистрированным в я получаю это сообщение на вершине х страниц

«Вы должны быть зарегистрированы, чтобы получить доступ к этой странице»

ответ

2

Начо, позвольте мне предложить вам смотреть http://railscasts.com/episodes/160-authlogic

Он должен ответить на все ваши вопросы, и многое другое.

Off верхней части моей головы ...

Начните с создания ваших маршрутов, если вы еще не:

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

map.logout 'выходом из системы',: контроллер => 'user_sessions' ,: действие => 'уничтожить'

Далее, сделайте это в контроллере приложения:

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 

этот должен помочь вам решить проблемы, упомянутые выше. Если люди не вошли в систему, они будут перенаправлены на страницу входа. Кроме того, для выхода из системы просто укажите на logout_url (localhost: 3000/logout)

 Смежные вопросы

  • Нет связанных вопросов^_^