Ruby on Rails + WebORB + authlogic + Flex
Я разрабатываю проект Rails, который использует authlogic для аутентификации. И я участвую в этом проекте, который реализован с помощью Flex, и мне нужно знать, как пользователь может пройти аутентификацию, если он или она вошли в систему или нет.
Я создал веб-сервис под названием UserSessionService
и я пытался получить пользователя, который вошел в систему, но это не работает. Если я попытаюсь получить это с UserSession.find
Я просто получаю # в качестве результата (и, следовательно, это всегда так).
Вот UserSessionService.rb:
require 'weborb/context'
require 'rbconfig'
class UserSessionService
def login
UserSession.find
end
end
Я пытался продлить UserSessionService
класс от Authlogic::Session::Base
, но это тоже не работает.
2 ответа
Я сделал это сейчас с помощью дополнительного HTTPService во Flex, который обращается к функции в контроллере UserSessions. Для получения более подробной информации, смотрите http://blog.sketchit.de/2009/12/flex-mit-ruby-on-rails-authlogic-authenitifizieren/ (извините, только на немецком языке)
спасибо за вашу помощь! смокинг
Я не знаком с Flex, но, похоже, вы ищете удаленный аутентификатор. Вот несколько идей:
Убедитесь, что пользователь может "войти" на стороне Rails, и все эти функции работают. Вы можете начать с http://github.com/binarylogic/authlogic_example, который является действительно хорошим начальным местом.
Создайте TestController с одним действием: #logged_in, которое просто печатает "да" или "нет" в зависимости от того, вошли вы в систему или нет. Затем перейдите по ссылке в браузере - http://localhost:3000/test/logged_in и посмотрите, что там написано. Тогда вы можете попробовать то же самое в своем приложении Flex.
class TestController < ApplicationController def logged_in render :text => current_user ? 'yes' : 'no' end end
Добавьте в ваше приложение отладчик, который проверяет, вошли ли они в систему, и выясните, почему нет. Обычно это связано с куки. Смотрите http://guides.rubyonrails.org/debugging_rails_applications.html чтобы узнать, как отлаживать в Rails.
Пожалуйста, дайте мне знать, как это происходит!