Tag: authlogic

使用Redirect_To时,Rails 3 Notices不起作用

我有一些代码我有一个:通知,它只是有选择地出现。 这是代码 respond_to do |format| if @userhj.save format.html { redirect_to(:action => :index, :notice => ‘Succesfully assigned job’) } format.xml { render :xml => @userhj, :status => :created, :location => @userhj } else format.html { redirect_to(:root, :notice => ‘Duplicate job assignment’) } format.xml { render :xml => @user.errors, :status => :unprocessable_entity } end end 从:index视图重定向到:index时,通知不会正确显示。 看看Firebug的网络控制台,有一个GET(这里插入url)?notice […]

RSpec Rails登录filter

我最近开始使用我的Rails(3.0.8)应用程序使用rspec-rails(2.6.1)。 我已经习惯了Test :: Unit,而且我似乎无法为我的测试方法提供filter。 我喜欢尽可能保持DRY,所以我想设置一个filter,我可以在调用测试方法之前调用任何将作为Authlogic用户登录的测试方法。 我尝试使用spec_helper.rb中的RSpecfilter来完成此操作: config.before(:each, :login_as_admin => true) do post “/user_sessions/create”, :user_session => {:username => “admin”, :password => “admin”} end 然后我在相应的测试方法中使用它(在本例中为spec / controllers / admin_controller_spec.rb): require ‘spec_helper’ describe AdminController do describe “GET index” do it(“gives a 200 response when visited as an admin”, :login_as_admin => true) do get :index response.code.should eq(“200”) end end […]

Authlogic创建没有密码的新会话

我正在尝试将Facebook OAuth构建到我现有的Authlogic登录系统中。 我已完成OAuth部分,并存储了facebook access_token。 我面临的问题是在没有用户输入密码的情况下实际登录用户(创建会话)。 #facebook’s OAuth callback def callback access_token = client.web_server.get_access_token(params[:code], :redirect_uri => redirect_uri) fb_user = JSON.parse(access_token.get(‘/me’)) @user = User.find_by_facebook_id(fb_user[“id”]) || User.find_by_email(fb_user[“email”]) || User.new @user.update_attributes({ :facebook_id => fb_user[“id”], :first_name => fb_user[“first_name”], :last_name => fb_user[“last_name”], :gender => fb_user[“gender”], :email => fb_user[“email”], :timezone => fb_user[“timezone”], :locale => fb_user[“locale”], :facebook_url => fb_user[“link”], :facebook_access_token => access_token.token }) […]

使用新的openid登录authlogic创建新用户

我已经在rails网站中实现了authlogic,我正试图让openid正常工作。 到目前为止,只要您拥有现有帐户,就可以登录,但如果不是,则可以登录。 如果identity_url尚未存在于数据库中,我希望能够自动创建新帐户。 问题是我还需要存储一些额外的信息。 如果用户第一次使用openid登录,我想让他们在创建帐户之前填写基本信息(姓名,电子邮件)。 我玩了几种方法,但似乎没有任何工作。 提前感谢任何输入!

Rails authlogic密码哈希算法仅使用ruby

有没有人知道如何在不使用rails的情况下通过authlogic hasing算法运行纯文本密码? 看起来authlogic的默认值是sha512。 我有一个纯文本密码数据库(是的,我知道……很糟糕),需要将它们导入到使用authlogic设置的新数据库中。 这个ruby脚本在rails之外,所以我不想使用基于rails的authlogic命令。 我有 要求’authlogic’ 在ruby脚本中 我是ruby模块的新手,但试图调用密码方法,如: Authlogic :: ActsAsAuthentic:密码::方法:: InstanceMethods.password( ‘password_here’) 我从中得到了“无密码方法”错误,但在authlogic代码中的模块堆栈下面有一个“密码”方法。 谢谢!

Rails和Authlogic:每个用户只允许一个会话?

有没有办法限制Ruby on Rails应用程序中的会话数量(我使用Authlogic进行身份validation)? 我想每个用户帐户只允许1个会话。 当同一用户登录另一台计算机时,上一个会话应该过期/无效。 我正在考虑将会话数据存储在数据库中,然后在创建新会话实例时将其删除但可能有更简单的方法吗? (配置选项)

使用AuthLogic保护内容

我知道这听起来像一个非常非常简单的用例,我希望它是,但我发誓我已经到处寻找并且没有找到任何方式 – 甚至不是最好的方式 – 这样做。 我是Ruby,Rails以及周围所有东西的新品牌(可能解释很多 )。 我正在使用的虚拟应用程序作为我的学习工具需要进行身份validation才能完成几乎任何有意义的操作,因此我选择从解决该问题开始。 我已经安装了AuthLogic gem并且它在介绍文档和Railscast所涵盖的范围内工作得很好,但现在我可以注册,登录和注销……我需要用它来做一些事情。 例如,我需要创建一个用户可以上传图像的页面。 我打算让一个带有upload操作方法的ImagesController ,但我希望只有登录用户才能访问。 我想,如果没有current_user ,我可以在每个限制动作中添加代码重定向,但这看起来真的很冗长。 是否有更好的方法可以让我定义或识别受限区域并在一个地方处理身份validation检查?

Authlogic和iPhone应用程序登录

这对我来说是一个头脑。 我已经查看了关于SO的所有类似问题,但没有一个被certificate是令人满意的。 这是我的目标。 我使用Authlogic设置了完美的rails 3 app设置。 我一直在使用Objective Resource(http://iphoneonrails.com/)来连接我的iPhone应用程序和我的Rails应用程序,它一直运行良好。 现在是时候添加身份validation了,我无法弄清楚。 我的iPhone项目中有一个UserSession类,带有用户名和密码字段。 当应用程序启动时,我会显示一个包含用户名和密码字段的登录屏幕。 单击按钮后,iPhone应用程序将尝试创建UserSession。 我从http://www.corprew.org/blog/2010/01/27/authlogic-and-objectiveresource/获取了我的代码。 us.username = usernameField.text; us.password = passwordField.text; NSError * err = nil; if(![us saveRemoteWithResponse:&err]) { NSLog(@”%d”, err); NSLog(@”whoops, error”); } 当我运行该代码时,日志显示“0”和“哎呀,错误”意味着UserSession没有保存。 对于正确和不正确的登录都会发生这种情况。 另外,我在saveRemote(“我在saveRemote”等)中放置了令牌注释,而这些注释从未出现在我的日志中。 这里有什么想法? 如果您希望我发布更多代码,请告诉我们。 我会和这个一起过夜。

Rails中的Authlogic和单元/function测试问题

我正在学习如何在Rails中完成unit testing,并且我遇到了涉及Authlogic的问题。 根据文档 ,在测试中使用Authlogic的东西需要一些东西: test_helper.rb中: require “authlogic/test_case” class ActiveSupport::TestCase setup :activate_authlogic end 然后在我的function测试中我可以登录用户: UserSession.create(users(:tester)) 问题似乎源于test_helper.rb中的setup :activate_authlogic行,只要包含它,运行function测试时会出现以下错误: NoMethodError: undefined method `request=’ for nil:NilClass authlogic (2.1.3) lib/authlogic/controller_adapters/abstract_adapter.rb:63:in `send’ authlogic (2.1.3) lib/authlogic/controller_adapters/abstract_adapter.rb:63:in `method_missing’ 如果我删除setup :activate_authlogic并将Authlogic::Session::Base.controller = Authlogic::ControllerAdapters::RailsAdapter.new(self)到test_helper.rb,我的function测试似乎工作但现在我的unit testing失败: NoMethodError: undefined method `params’ for ActiveSupport::TestCase:Class authlogic (2.1.3) lib/authlogic/controller_adapters/abstract_adapter.rb:30:in `params’ authlogic (2.1.3) lib/authlogic/session/params.rb:96:in `params_credentials’ authlogic (2.1.3) lib/authlogic/session/params.rb:72:in `params_enabled?’ authlogic (2.1.3) […]

什么是omniauth和电子邮件密码注册最佳实践?

结合Facebook登录(让我说我会使用Omniauth gem)和电子邮件+密码登录的最佳做法是什么? 我看了几个博客,看过Railscasts,我知道每个人都在使用Omnia的Devise gem。 但我正在寻找一些不同的观点。 子问题: 我正在考虑从头开始创建电子邮件+密码注册(不使用任何gem,让它保持快速和轻便)所以你有什么建议吗? 或者,如果你有特定的gem,请让它快速。 你对Oauth2gem(替代Omniauth)处理Facebook的身份validation有什么其他建议吗? 对不起,我在这里问这个基本问题,但我没有找到很多答案(我发现其中大部分是基于Devise)