在我的Rails应用程序(Rails -v 2.3.18)中,我必须将Net :: HTTP.new请求传递到同一个域,但运行在不同的端口和技术上。但托管在相同域名下的同一台服务器上。
Rails App - 网址:http://physic.mytest.local/login
Java App - 网址:http://physic.mytest.local/student_portal
对于登录系统,我使用的是RailsApp(具有与用户进行身份验证相关的所有详细信息)。在这里,我将通过Rails应用程序验证用户,并从同一个控制器验证调用Java应用程序以验证用户的学生门户。但是我无法点击服务器。
路线:map.student_portal "student_portal", :controller => "user_sessions", :action => "student_portal"
UserSession控制器:
def student_portal
redirect_to "http://physic.mytest.local/student_portal"
end
用户模型:
def login_inside_student_portal(username, password)
cookie_response = ""
begin
uri = URI.parse("http://physic.mytest.local/student_portal")
response = Net::HTTP.post_form(uri, {"userName" => username, "password" => password})
if response["Set-Cookie"].start_with?("JSESSIONID=")
cookie_response = response["Set-Cookie"]
else
puts "response Set-Cookie .start_with? JSESSIONID"
end
rescue => e
puts "inside - login_inside_student_portal = #{e}"
end
return cookie_response
end
请提出建议。