0

我正在开发一个使用 authlogic 进行身份验证的 Rails 项目。我在那个项目中有一部分是用 Flex 实现的,我需要知道如果用户登录与否,如何对其进行身份验证。

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

这是 UserSessionService.rb:

require 'weborb/context'
require 'rbconfig'

class UserSessionService
  def login
    UserSession.find
  end
end

我试图从 扩展UserSessionServiceAuthlogic::Session::Base,但这也不起作用。

4

2 回答 2

1

我现在在 Flex 中使用了一个额外的 HTTPService 来访问 UserSessions 控制器中的一个函数。有关更多详细信息,请查看 http://blog.sketchit.de/2009/12/flex-mit-ruby-on-rails-authlogic-authenitifizieren/(对不起,只有德语)

谢谢你的帮助!晚礼服

于 2009-12-10T16:48:59.520 回答
0

我对 Flex 不熟悉,但您似乎正在寻找远程身份验证器。这里有一些想法:

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

  2. 使用一个操作创建一个“TestController”:#logged_in,它只会根据您是否登录打印“yes”或“no”。然后在浏览器中点击它 - 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 。

请告诉我进展如何!

于 2009-12-09T23:28:25.143 回答