我正在开发一个使用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
,但这也不起作用。
答案 0 :(得分:1)
我现在已经在Flex中使用额外的HTTPService来访问UserSessions Controller中的一个函数。有关详细信息,请查看 http://blog.sketchit.de/2009/12/flex-mit-ruby-on-rails-authlogic-authenitifizieren/(抱歉,仅限德语)
谢谢你的帮助! TUX答案 1 :(得分:0)
我不熟悉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
在您的应用中抛出一个调试器,检查它们是否已登录,并找出原因。它通常与cookie有关。有关如何在Rails中进行调试,请参阅http://guides.rubyonrails.org/debugging_rails_applications.html。
请告诉我它是怎么回事!