Ruby on Rails + WebORB + authlogic + Flex

时间:2009-12-09 22:39:26

标签: flex authlogic weborb

我正在开发一个使用authlogic进行身份验证的Rails项目。我参与了使用Flex实现的项目,我需要知道如果用户登录或不登录,用户是如何进行身份验证的。

我已经设置了一个名为UserSessionService的网络服务,我试图让用户登录,但它不起作用。如果我尝试用UserSession.find来获取它,我只得到一个#作为结果(因此总是如此)。

这是UserSessionService.rb:

require 'weborb/context'
require 'rbconfig'

class UserSessionService
  def login
    UserSession.find
  end
end

我尝试将UserSessionService类扩展为Authlogic::Session::Base,但这也不起作用。

2 个答案:

答案 0 :(得分:1)

我现在已经在Flex中使用额外的HTTPService来访问UserSessions Controller中的一个函数。有关详细信息,请查看 http://blog.sketchit.de/2009/12/flex-mit-ruby-on-rails-authlogic-authenitifizieren/(抱歉,仅限德语)

谢谢你的帮助! TUX

答案 1 :(得分:0)

我不熟悉Flex,但似乎你正在寻找一个远程身份验证器。以下是一些想法:

  1. 确保用户可以在Rails端“登录”,并且所有这些功能都有效。您可能希望从http://github.com/binarylogic/authlogic_example开始,这是一个非常好的起点。

  2. 使用一个操作创建一个“TestController”:#logged_in,根据您是否已登录,只打印“是”或“否”。然后在浏览器中点击它 - http://localhost:3000/test/logged_in,看看它的内容。然后,您可以在Flex应用程序中尝试相同的操作。

    class TestController < ApplicationController
      def logged_in
        render :text => current_user ? 'yes' : 'no'
      end
    end
    
  3. 在您的应用中抛出一个调试器,检查它们是否已登录,并找出原因。它通常与cookie有关。有关如何在Rails中进行调试,请参阅http://guides.rubyonrails.org/debugging_rails_applications.html

  4. 请告诉我它是怎么回事!