0
我在控制器中建立ssh连接,并在连接成功建立时显示视图。 我需要我的行动,如果未建立连接 这是我的看法重定向到“denied_access”图,其中使用进入他的细节:在控制器ruby on rails ssh连接检查有效性
<%= form_for :check_validity, :method => "get", :url => {:action => "check_validity"} do |f| %>
//enters user name and password here and submits
<% end%>
检查有效性的行动:
def check_validity
@USER = params[:check_validity][:username]
@PASS = params[:check_validity][:password]
@DOMAIN = params[:check_validity][:domain]
@HOST = 'hostname'
Net::SSH.start(@HOST, @USER, :password => @PASS) do|ssh|
@result = ssh.exec!("/lclapps/oppen/http/ldap-group-list-2.4.3.py #{@DOMAIN} #{@USER} #{@PASS}")
end
respond_to do |format|
if(@result =~ /Informatica Developer/)
format.html{redirect_to display_command_list_path({:username => @USER})}
else
format.html{redirect_to denied_access_path}
end
end
end
这里连接已建立,正在检查resutl中的Informatica Developer字符串并重定向到display_command_list_path
。但是我想检查连接是否已经建立,甚至在检查这个字符串之前是否建立,如果连接没有建立,请重定向到denied_access_path。 我该怎么做?
Thankyou,在我目前的项目中,由于主机是硬编码的,所以没有坏主机的机会。但无论如何,我会添加套接字错误。 – user1455116 2012-07-09 17:10:35