我正在爲我的身份驗證系統和主頁面上使用設備我有登錄屏幕,它會創建用戶並完美地記錄它們。但登錄後,它只是回到索引頁面,而我想它重定向到實際的用戶頁面,即localhost:3000/user/1。我希望此頁面只能由登錄的用戶查看,IE:其他用戶無法查看其他用戶的配置文件。如果有人試圖導航以說localhost:3000/user/2 ...他們將會出現一個登錄屏幕,並且憑證必須匹配該用戶。在登錄後重定向到用戶#顯示頁面時出現問題
我知道這是一個複雜的問題,但任何幫助將是有用的。
我正在爲我的身份驗證系統和主頁面上使用設備我有登錄屏幕,它會創建用戶並完美地記錄它們。但登錄後,它只是回到索引頁面,而我想它重定向到實際的用戶頁面,即localhost:3000/user/1。我希望此頁面只能由登錄的用戶查看,IE:其他用戶無法查看其他用戶的配置文件。如果有人試圖導航以說localhost:3000/user/2 ...他們將會出現一個登錄屏幕,並且憑證必須匹配該用戶。在登錄後重定向到用戶#顯示頁面時出現問題
我知道這是一個複雜的問題,但任何幫助將是有用的。
你對我的描述聽起來像是混合了認證和授權。我說混合,因爲確定您是否允許用戶訪問/ user/1 vs/user/2是授權的用途。
認證是確定的過程「你是你說你是誰」,而授權決定的過程「是你讓你想要去的。」
到目前爲止,您正在使用設計進行驗證,你會想看看抓住另一gem for Authorization(我的偏好是康康舞。)
如果你不想去充分的授權路徑(我會推薦它,但是...)你可以在用戶控制器的before_filter
中查看是否current_user_id == id_from_the_url
。
並登錄後重定向你要使用色器件鉤after_sign_in_path_for
這將類似於此:
class ApplicationController < ActionController::Base
def after_sign_in_path_for(resource)
return user_path(resource)
end
end
我在想添加到慘慘我的應用程序。我想完整的授權路線只是不知道我會怎麼做。 我仍然不知道如何登錄後單獨顯示頁面重定向。 – RubyNerd 2012-02-08 22:07:31
@RubyNerd在用戶登錄後查看我的重定向答案的最後部分。 – 2012-02-09 00:06:34
非常感謝!它現在完全重定向。 – RubyNerd 2012-02-09 13:55:58