RoR 安全指南指出,您应该使用 reset_session 方法“发出新的会话标识符并在成功登录后声明旧的会话标识符无效”以对抗会话固定。
在使用 Authlogic 时,我无法找到有关调用 reset_session 的任何指导。是否只是将方法包含在控制器方法中(如下所示)的情况?
我只是担心会导致 Authlogic 出现问题,因为在调用 reset_session 之前,我可以在会话哈希中看到 user_credentials 和 user_credentials_id 键和值。
class UserSessionsController < ApplicationController
def create
@user_session = current_client.user_sessions.new(params[:user_session])
if @user_session.save
reset_session
flash[:success] = I18n.t(:msg_login_success)
redirect_back_or_default application_root_path
else
render :action => :new
end
end