Tôi đang cố gắng xây dựng hệ thống "chỉ cần nhấp vào tên của bạn để đăng nhập" bằng cách sử dụng auth_logic. Mô hình người dùng của tôi có trường email và tên. Để đăng nhập, tôi chỉ cần làm:# <UserSession: {:author_record => "<protected>"}>
UserSession.create(@user, true)
Thật không may là không tạo ra phiên. Sử dụng một trình gỡ lỗi tôi thấy tin nhắn này:
#<UserSession: {:unauthorized_record=>"<protected>"}>
mô hình người dùng của tôi chỉ có một dòng:
acts_as_authentic
dòng phiên Người dùng có này, mà tôi tìm thấy ở đâu đó. Tôi không chắc chắn những gì nó làm và tôi đã cố gắng có và không có:
class UserSession < Authlogic::Session::Base
def to_key
new_record? ? nil : [ self.send(self.class.primary_key) ]
end
end
Cơ sở dữ liệu (Tôi cũng không chắc chắn nếu đó bảng user_sessions là cần thiết):
create_table "sessions", :force => true do |t|
t.string "session_id", :null => false
t.text "data"
t.datetime "created_at"
t.datetime "updated_at"
end
add_index "sessions", ["session_id"], :name => "index_sessions_on_session_id"
add_index "sessions", ["updated_at"], :name => "index_sessions_on_updated_at"
create_table "user_sessions", :force => true do |t|
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "users", :force => true do |t|
t.datetime "created_at"
t.datetime "updated_at"
t.string "persistence_token"
t.string "email"
t.string "name"
end
tôi tôi đang sử dụng Rails 3.0.9 và Gemfile tôi nói (tôi đã thử cả hai bình thường và authlogic đá quý Github):
gem 'rails', '3.0.9'
gem 'sqlite3'
gem "authlogic" #, :git => 'git://github.com/odorcicd/authlogic.git', :branch => 'rails3'
Here 's phần còn lại của mã nguồn.
Tôi đã gặp sự cố này vài ngày trước về một dự án tương tự và nó "vừa biến mất" tại một thời điểm nào đó. Tôi chỉ không nhớ làm thế nào.
Bất kỳ ý tưởng nào? Đây là lái xe cho tôi hạt ...
Hi Sjors, tôi đang gặp vấn đề tương tự. Bạn có tìm thấy giải pháp cho vấn đề này không? – Dorian
@dorian nếu bạn chỉ cần đăng nhập Twitter, đá quý này làm cho nó tầm thường: https://github.com/mislav/twitter-login –
Có cùng một vấn đề là tốt. Bất kì giải pháp nào? –