2

Я использую один знак в системе аутентификации перед моим рельсовым приложением, поэтому вы вообще не можете получить доступ к приложению, пока не получите аутентификацию через нашу систему проверки подлинности.Рельсы: однократная аутентификация на основе сеанса связи

После проверки подлинности я хочу настроить авторизацию на основе роли, но я считаю, что мне все же нужно настроить какую-то модель User для этого.

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

Я не могу использовать переменные сеанса для ролей, поскольку у меня нет никакого контроля над нашей системой единого входа.

Я искал некоторые просто, как это сделать, но не смог их найти.

+0

Я продолжал искать решение, и я до сих пор не могу найти то, что я ищу. Думаю, мне нужно создать второй уровень аутентификации? без паролей, которые будут принимать логин до тех пор, пока имя пользователя находится в базе данных? – Rumpleteaser

+0

Это не совсем то, что я хочу. Затем нам придется добавлять пользователя каждый раз, когда приходит новый человек. – Rumpleteaser

ответ

0

Я создал контроллер для администраторов и ввода всех пользователей на администратора в том, что и я просто собираюсь реализовать самые основные полномочия как в Райана Бейтс раннем railcast: http://railscasts.com/episodes/20-restricting-access

Я ограничение доступа на каждом контроллере и в Просмотры. Я чувствую, что он немного грязный, но он работает.

В функции проверки администратора я проверяю, чтобы увидеть, если учетные данные пользовательских сессий в таблице:

helper_method :admin? 

def admin? 
    admin = Admin.find_all_by_username(request.env["SPEP_ATTR_uid"]) 
    if admin.empty? 
    false 
    else 
    true 
    end 
end 

def authorize 
    unless admin? 
    flash[:error] = "unauthorized access" 
    redirect_to home_url 
    false 
    end 
end 
Смежные вопросы