【发布时间】:2012-07-10 00:25:56
【问题描述】:
我正在我的控制器中建立一个 ssh 连接,如果连接建立成功,我会显示一个视图。 如果未建立连接,我需要我的操作重定向到“denied_access”视图 这是我的观点,其中使用输入了他的详细信息:
<%= 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
此处已建立连接,正在检查结果中的 Informatica Developer 字符串并重定向到 display_command_list_path。但是我想在检查这个字符串之前检查连接是否建立,如果连接没有建立,则重定向到 denied_access_path。
我该怎么做?
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 net-ssh