我對rails比較陌生,現在我正在開發一個簡單的登錄註銷系統。Rails身份驗證問題
在我的應用程序,當我登錄生成的網址是:
本地主機:3000 /用戶/指數/ 7
當我登出我回到了根。但是,如果複製此URL並將其粘貼到另一個瀏覽器窗口中,我將立即登錄,而不會被定向到登錄表單。如何糾正這個問題。
我試圖存儲用戶ID在會話哈希,然後退出時我已經在會話中設置用戶ID爲零。但那不行。需要幫助。
編輯:
在我家的控制器
class HomeController < ApplicationController
def signin
user=User.find(:all,:conditions=>["user_login=? AND user_password=?",params[:user] [:username],params[:user][:password]);
if user!=nil
session[:user_id]=user.user_id;
redirect_to({:controller=>'user'})
end
end
end
在用戶控制器我有一個logout方法:
def logout
session[:user_id]=nil;
redirect_to({:controller=>'home'});
end
我的routes.rb文件看起來像這樣:
ActionController::Routing::Routes.draw do |map|
map.root :controller => "home",:action => "index"
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
end
編輯編輯:
我已經解決了這個問題,我沒有檢查用戶控制器索引方法中的會話哈希ID值。不過,我還有一個問題,如果我有在軌2.3.17的應用程序,我想將它轉移到最新版本,我會多少改變必須做出
你如何實現基本認證? – 2013-05-03 11:10:23
在我的家庭控制器中: – 2013-05-03 11:13:32
您使用的是哪個版本的Rails? – Dogbert 2013-05-03 12:05:05