2

我发现 RubyCAS 是非常有用的工具,但是从我网站上的表单登录时出现问题。表单是默认和隐藏字段,如下所示:

  <td id="submit-container">
    <input type="hidden" id="lt" name="lt" value="<%= @lt %>" />
    <input type="hidden" id="service" name="service" value="<%= @service %>" />
    <input type="submit" class="button" accesskey="l" value="Поехали"
           tabindex="4" id="login-submit" />
  </td>

具有自定义登录操作的控制器看起来像

class UsersController < ApplicationController
 before_filter CASClient::Frameworks::Rails::Filter, :except => [:new, :create, :cas_login]

 def cas_login
    credentials = { :username => params[:username], :password => params[:password]}
    client = CASClient::Frameworks::Rails::Filter
    @resp = client.login_to_service(self, credentials, 'http://local.mysite:3000/users/login')

    if @resp.service_redirect_url.nil?
      # if login failed, redisplay the page that has your login-form on it                                                                                                                                          
      flash[:error] = "Invalid email or password"

      redirect_to root_url
    else                                                                                                                                                                                 
      return redirect_to(@resp.service_redirect_url)
    end
  end
end

问题:所以在第一个应用程序成功登录后,并在以下位置设置 cookie rubycas-server-1.1.1/lib/casserver/server.rb

response.set_cookie('tgt', tgt.to_s)

尝试使用 ruby​​cas-server 打开另一个应用程序时,我的 cookie 为空

当使用 ruby​​cas-server 开箱即用的形式登录到第一个应用程序时,一切正常,我自动登录到第二个应用程序

请帮忙!在这个问题上花了3天!

4

0 回答 0