Tag: 登录

Rails 3 – 在创建帐户后自动登录用户

在我的signup_process ,我有两个方法signup_process和login 。 我想在signup_process调用成功后自动为用户调用login 。 这可能吗? 在其他语言框架中,我通常只是通过传递用户名和密码的signup_process操作直接调用login控制器操作 – 但我认为这在Rails中是不受欢迎的。 有没有办法将用户数据发布到我的控制器的users.login操作? 这必须是一种常见的模式 – 我错过了什么? 🙂 提前致谢!

rails,devise,heroku和多个dynos

我们有一个在Heroku上运行的应用程序,它有多个dynos。 假设该应用程序有2个dynos,当用户登录时,他将被第一个dyno服务。 如果由于某种原因,后续请求由第二个dyno提供,则他看起来没有登录。 修复此问题的唯一方法(从我们测试的内容)似乎是将会话存储设置为cookie存储。 有没有其他人遇到过这个问题?

使用设计动态设置用户时区

我已经构建了一个rails应用程序,可以帮助父母跟踪他们的婴儿的睡眠。 为了使它正常工作,我必须支持不同的时区。 为了避免使用时区烦扰用户,我创建了一个小的javascript,在登录表单中添加了一个隐藏字段,包括时区偏移量。 这是代码 var timeZoneField = $(“input[name=’user_tz_offset’]”); if (timeZoneField.length) { var browserDate = new Date(); var timeZoneOffsetSeconds = (browserDate.getTimezoneOffset() * 60) * -1; $(timeZoneField).val(timeZoneOffsetSeconds); } 使用该字段中的数据,我将Time.zone设置为与该偏移量对应的任何城市。 这样的事情会产生时区 user_time_zone = ActiveSupport::TimeZone.[](params[:user_tz_offset].to_i) session[:user_time_zone] = user_time_zone 最后,我在ApplicationController中设置了时区。 def set_user_time_zone if (session[:user_id]) Time.zone = session[:user_time_zone] else Time.zone = config.time_zone end end 所有这些都依赖于我自己编写的登录function。 但是,我知道我以后需要使用更好的用户管理系统,因为我自己的代码既没有做得好或者特别安全(我首先关注其他function)。 现在,我已经安装了设计,它可以很好地登录和注销,该网站的大多数其他function也可以工作。 但我不知道如何使用设计作为我的用户管理系统来处理时区支持。 一个想法是覆盖Devise中的SessionsController,添加对该隐藏时区字段的检查并将其值添加到user_session。 但我对这样做感到担心,感觉这是一个坏主意。 是否有更好的方法来添加此function,而无需强制用户在注册期间添加时区信息? […]

在rails应用程序中自动点击电子邮件中的链接时登录用户?

我的rails应用程序中有一个User模型。 这是一个“设计”模型。 我有一个名为“user-info”的表单,一旦用户登录系统,就可以使用此表单。 我有一个admin登录,其中admin可以发送link到用户email如通过单击button填写“用户信息”。 一旦用户点击该按钮,我希望用户automatically登录系统,而无需重定向到登录页面。 并应navigated到user-info表单。 我想知道在url中发送查询字符串参数,如email =“x@gmail.com”&& form =“user_info”。 但是一旦用户点击了这个,就需要实现我的要求。

记得用OmniAuth登录

有没有一种简单的方法来实现OmniAuth的“记住我”function? 我正在使用Facebook,身份和LinkedIn,我正在寻找一种方法来让用户跨会话登录我的网站。

设计登录时重置会话

我在application_controller.rb文件中定义了以下内容: def redirect_back_or(default) redirect_to(session[:return_to] || default) session.delete(:return_to) end def store_location session[:return_to] = request.url end def after_sign_in_path_for(resource) r = session[:return_to] || user_root_url session.delete(:return_to) r end 我正在尝试将用户发送回sign_in之前来自他们的地方,或者,如果没有保存位置,则将其发送到他们的根页面。 我在我的一个控制器中调用它: if current_user.nil? store_location redirect_to home_login_url, alert: “You must be logged in to purchase subscriptions” return end 我通过调试器并观察session[:return_to]设置,但在我登录并after_sign_in_path_for(resource) , session[:return_to]为空。 如何在登录中保留return_to变量? 我正在运行Rails 3.2.1和Devise 2.1.2

Rails:跟踪用户的ID

在我的Rails应用程序中,我有一个登录页面。 在该人登录后,我的应用程序继续跟踪已登录的人的最佳方式是什么。例如,如果用户移动到不同的页面,我的控制器/操作将失去对该用户的跟踪,除非我继续通过用户随后访问的每个页面之间的变量。 有更好的方法吗? 我应该使用sessions变量吗?

成功进行DEVISE登录后,如何将用户重定向回以前需要登录的操作?

我有一个ajax投票按钮:如果用户点击“竖起大拇指”图像,但没有登录,那么他们应该会看到一个对话框,要求他们先登录。 要执行此对话框,我使用jQuery和facebox绑定到ajax:failure事件。 如果用户未登录,Devise将引发401 Unauthorized .facebox在弹出对话框中加载远程html以进行登录,该对话框显示DEVISE登录表单。 一切正常,除非成功登录后,用户被重定向到主页。 如果用户被重定向回他们正在查看的post以便他们可以继续投票,那将更直观。 是否有实现此行为的最佳实践方法? 谢谢。

如何使用Devise停止软删除用户的登录

我目前在Rails项目中使用Devise进行用户注册/身份validation。 当用户想要取消其帐户时,将以如下方式软删除用户对象。 如何用Devise“软删除”用户 我的implmenetation这种方式有一点不同。 用户模型具有属性’deleted_flag’。 并且,soft_delete方法执行“update_attribtue(:deleted_flag,true)” 但是,我必须实施sign_in行动。 我的主要内容如下。 class SessionsController resource_name, :recall => “#{controller_path}#new”) if resource.deleted_flag p “deleted account : ” + resource.deleted_flag.to_s sign_out(resource) render :controller => :users, :action => :index else if is_navigational_format? if resource.sign_in_count == 1 set_flash_message(:notice, :signed_in_first_time) else set_flash_message(:notice, :signed_in) end end sign_in(resource_name, resource) respond_with resource, :location => redirect_location(resource_name, resource) end end […]

如何在登录表单中设置Devise和Rails

我想在我网站的标题中添加一个登录表单。 我使用Rails 3.2.8和最新的Devise。 在app/views/devise/sessions/new.html.erb文件中,创建了一个登录表单: resource_name, :url => session_path(resource_name), :html => {:class => ‘main’}) do |f| %> ‘Enter username’ %> ‘Enter password’ %> 如果我尝试复制该代码并将其放在我的application.html.erb ,我会收到有关上面引用的资源变量的错误: undefined local variable or method `resource’ for #<#:0x3c73b00> 那么我可以使用/users/sign_in作为动作使用普通的railsforms吗? 如何在登录后告诉设计重定向到哪里?