Hi all,
Saya baru install Restful Authentication di aplikasi saya (udah pake yang
terbaru dari git). Lalu saya generate berikut dengan eksekusi file migrasi
yang digenerate dari plugin itu. Saya bisa register dan aktivasi usernya.
Namun saat saya coba login, saya tetap berada di login page dan nggak dapat
:notice maupun :error dari flash-nya. Saya sudah pastikan kalo flash itu ada
di layout. dan saya dapat pesan2 yang muncul saat registrasi dan aktivasi
user. Jadi saya nggak tau apakah sudah login / blm.
Ini SessionsController dari pluginnya:
...
def new
end
def create
logout_keeping_session!
user = User.authenticate(params[:login], params[:password])
if user
# Protects against session fixation attacks, causes request forgery
# protection if user resubmits an earlier form using back
# button. Uncomment if you understand the tradeoffs.
# reset_session
self.current_user = user
new_cookie_flag = (params[:remember_me] == "1")
handle_remember_cookie! new_cookie_flag
redirect_back_or_default('/')
flash[:notice] = "Logged in successfully"
else
note_failed_signin
@login = params[:login]
@remember_me = params[:remember_me]
render :action => 'new'
end
end
protected
# Track failed login attempts
def note_failed_signin
flash[:error] = "Couldn't log you in as '#{params[:login]}'"
logger.warn "Failed login for '#{params[:login]}' from
#{request.remote_ip} at #{Time.now.utc}"
end
...
Ini dari development.log:
Saat mengakses login page:
Processing SessionsController#new (for 127.0.0.1 at 2008-08-20 17:04:15)
[GET]
Session ID: BAh7CDoOcmV0dXJuX3RvMDoMY3NyZl9pZCIlZjZhYzZlNGQzMWIzNzc4ODg3
NzczY2QwZGQxZDcwNDYiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZs
YXNoOjpGbGFzaEhhc2h7AAY6CkB1c2VkewA=--024b176e2e315682259144675f56daa338f092d3
Parameters: {"action"=>"new", "controller"=>"sessions"}
SQL (0.000174) SET NAMES 'utf8'
SQL (0.000107) SET SQL_AUTO_IS_NULL=0
Rendering template within layouts/application
Rendering sessions/new
Completed in 0.05679 (17 reqs/sec) | Rendering: 0.05445 (95%) | DB: 0.00028
(0%) | 200 OK [http://localhost/login]
Saat menginput login form:
Processing SessionsController#new (for 127.0.0.1 at 2008-08-20 17:06:13)
[POST]
Session ID: BAh7CDoMY3NyZl9pZCIlZjZhYzZlNGQzMWIzNzc4ODg3NzczY2QwZGQxZDcw
NDY6DnJldHVybl90bzAiCmZsYXNoSUM6J0FjdGlvbkNvbnRyb2xsZXI6OkZs
YXNoOjpGbGFzaEhhc2h7AAY6CkB1c2VkewA=--4d5b2ecaf5ceef449e193920e0af5b39a0267ae3
Parameters: {"commit"=>"Log in",
"authenticity_token"=>"d80992db60a321ba930c8836bc4ff106665c1e35",
"action"=>"new", "controller"=>"sessions", "password"=>"123456789",
"login"=>"dida"}
Rendering template within layouts/application
Rendering sessions/new
Completed in 0.06706 (14 reqs/sec) | Rendering: 0.00300 (4%) | DB: 0.00000
(0%) | 200 OK [http://localhost/login]
Perhatikan, saya bahkan nggak dapat "Failed login ..." lantaran
logger.warn(kalo memang gagal login), ya khan? Saya bingung status
login saya. Lalu
saya coba di console bisa:
>> user = User.authenticate("dida", "123456789")
=> #<User id: 2, login: "dida", name: "", email: "[EMAIL PROTECTED]",
crypted_password: "2360a902b631bac27e7662df926b77c8a4949f46", salt:
"a15463e2c8772572c6c698b34ff653da894ce149", created_at: "2008-08-20
07:03:28", updated_at: "2008-08-20 07:07:04", remember_token: nil,
remember_token_expires_at: nil, activation_code: nil, activated_at:
"2008-08-20 07:07:04", state: "active", deleted_at: nil>
Stuck harus gimana. Mohon pencerahan. Maaf kalo kepanjangan emailnya.
Thanks,
Dida
[Non-text portions of this message have been removed]