0

私はRhomobileの初心者で、Rhoconnectを使用してWebサービスにログインしたいのですが、これを実装する方法を教えてください。

設定コントローラーで試しました:

 def do_login
     if @params['username'] and @params['password']
       begin
         SyncEngine.login(@params['username'], @params['password'], (url_for :action => :login_callback) )
         @response['headers']['Wait-Page'] = 'true'
         redirect :action => :index
       rescue Rho::RhoError => e
         @msg = e.message
         render :action => :login
       end
     else
       @msg = Rho::RhoError.err_message(Rho::RhoError::ERR_UNATHORIZED) unless @msg && @msg.length > 0
       render :action => :login
     end
   end

sourecadapterSyncEngine.login(@params['username'], @params['password'])メソッドを呼び出す場所login。私が呼んでいる場所

 def login(username, password)
      user_info = {:username => username, :password => password }
      response = RestClient.get(@base+@params['username']+@params['password'])
      result = RestClient.post(:url => "my-webservice" ) 
      @msg=result["body"] 
      render :action => :index 
 end

私は試しました:

 class Application < Rhoconnect::Base
   class << self
     def authenticate(username,password,session)
       result = RestClient.post(:url => "mywebservice" )
       true # do some interesting authentication here...
     end
 end

しかし、私は何も得られません.. plzは私にいくつかのアイデアを与えます; これを解決する方法

4

1 に答える 1

1

Rhodes アプリからの SyncEngine.login 呼び出しは、RhoConnect アプリの application.rb で authenticate(username, password, session) メソッドを呼び出します。次に、次のように、認証メソッドをコーディングして、ユーザー認証の実装を呼び出すことができます。

def authenticate(username, password, session)
    # for example
    resp = RestClient.post(:url => "mywebservice", :login => {:username => username, :password => password})

    #parse resp as needed and return the result either true or false
    # i.e. status contains value true or false in the response body 
    result = JSON.parse(resp.body)['status']
end

それが役立つことを願っています。

于 2012-07-13T09:44:13.643 に答える