gpt4 book ai didi

ruby-on-rails - 检测用户是否在不同域登录

转载 作者:行者123 更新时间:2023-12-04 02:45:40 24 4
gpt4 key购买 nike

我正在开发一个 Rails 应用程序,它可以创建一个可以放在您网站上的小部件。当小部件显示(在具有不同主机的网站上)给登录我的应用程序的用户时,我想向他显示一些额外的管理选项。

确定用户是否已登录应用程序的最好和最简单的方法是什么?

我想在用户登录时存储 IP,然后比较发送到 widget Controller 的请求中的 IP。

最佳答案

我关注了 Omniauth Railscast Episode并且一直在使用 session 变量和 SessionsController 在用户登录和注销时创建和销毁 session 。

class SessionsController < ApplicationController

def create
# create user if new user, or find user account if returning user.
session[:user_id] = user.id
redirect_to root_url # or wherever
end

def destroy
session[:user_id] = nil
redirect_to root_url # or wherever
end

end

然后在应用程序 Controller 中,

 class ApplicationController < ActionController::Base
def current_user
@current_user ||= User.find(session[:user_id]) if session[:user_id]
end
end

然后,您可以通过 if current_user 轻松确定用户是否登录,或者等效地,如果 session[:user_id] 为 nil。

关于ruby-on-rails - 检测用户是否在不同域登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18907225/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com