相关疑难解决方法(0)

让Devise AJAX登录使用确认

我们正在尝试扩展Devise(3.1.1)登录/注册方法来处理AJAX请求,但是他们仍然坚持使用可确认的逻辑.通常,如果用户在确认其帐户之前登录设计,他们将被重定向到登录屏幕,并显示以下消息:"您必须在继续之前确认您的帐户." 我们无法弄清楚Devise在哪里检查确认并决定重定向.

这是我们的扩展的sessions_controller代码.它适用于成功和失败的登录尝试:

  # CUSTOM (Mix of actual devise controller method and ajax customization from http://natashatherobot.com/devise-rails-sign-in/):
  def create
    # (NOTE: If user is not confirmed, execution will never get this far...)
    respond_to do |format|
      format.html do 
        # Copied from original create method:
        self.resource = warden.authenticate!(auth_options)
        set_flash_message(:notice, :signed_in) if is_navigational_format?
        sign_in(resource_name, resource)
        respond_with resource, :location => after_sign_in_path_for(resource)
      end                       
      format.js  do
        # Derived from Natasha AJAX recipe:
        self.resource = warden.authenticate!(:scope => resource_name, :recall => "#{controller_path}#failure")
        sign_in(resource_name, resource)
        return render …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails devise devise-confirmable

6
推荐指数
1
解决办法
3357
查看次数

Marionette.js与Rails(设计)认证

好奇人们通常如何处理这个问题.我的策略是拥有授权的根路由和未经授权的根路由.

授权用户将直接发送到我的marionette.js单页应用程序,未经过授权的用户将被发送到标准的rails登录页面,并可选择登录或注册.

您似乎可以将这些全部组合到单页应用程序中.您可以根据附加到元素的类来显示/隐藏ui元素,这些元素基于查看它们所需的授权(注册,管理,管理员等).您还可以在路由器中添加某种"before_filter",以检查用户是否可以根据其角色访问此路由.

在这种情况下,我不确定如何处理登录/注册.您可以设置自己的api路由,这些路由可以通过POST来传递设计工作吗?

思考?策略?这里最好的做法是什么?

javascript ruby-on-rails devise backbone.js marionette

3
推荐指数
1
解决办法
1226
查看次数