问题标签 [authlogic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1368 浏览

ruby-on-rails - Rails:通过 IP 地址限制每日用户登录数?

有没有办法限制用户每天只能登录 5 个 IP 地址?这样,如果用户帐户试图在同一天从第 6 个不同的 IP 地址登录,他们将被拒绝。但是,我希望在一天结束时重置此限制。

如果 Authlogic 没有提供开箱即用的跟踪方法,您对我应该如何实现它有什么想法?正如您可能知道的那样,我已经在使用 Authlogic 进行身份验证。

我的主要目标是限制我的用户与非注册用户共享登录信息的能力;我知道大多数人的 IP 地址会在一天中定期更改,因为几乎没有人拥有个人静态 IP,但我认为 5 是相当数量的限额,即使考虑到用户可能会在他们的 iPhone 上访问我的网站,或者在星巴克等

想法?

更新:在阅读了@tadman 提供的链接上的许多评论后,我认为限制在以前没有的机器上创建的新会话的数量可能更有用,而不是通过 IP 地址。如果我了解 Authlogic 的工作原理,会话是服务器端记录和用户浏览器中的 cookie 的组合,对吗?如果我“退出”我的网站,cookie 仍然存在于我的浏览器中,不是吗?只是具有过期值或类似的东西。我可以对此进行测试吗?这样,如果一台根本没有该 cookie 的计算机我会认为是一个全新的登录,我会将新登录的次数限制为每天 5 次?那是可行的方法吗?

请参阅此用户关于 IP 速率限制的评论,了解我的意思:http ://simonwillison.net/2009/Jan/7/ratelimitcache/#c43031

0 投票
2 回答
503 浏览

ruby-on-rails - 是否有任何与 DataMapper 一起使用的身份验证插件?

我需要一种适用于 DataMapper 的身份验证方法。我可以看到 authlogic 插件需要这些字段

在用户模型中。仅使用 DataMapper 将这些字段添加到用户模型定义中就足够了吗?

0 投票
4 回答
1091 浏览

ruby-on-rails - Rails、OpenID 和 Authlogic

我一直在关注ryan baytes 截屏视频 #170,并将ruby ​​-openid 、authlogicauthlogic-oid添加到现有的 authlogic 身份验证系统中。

但是,我不断收到以下错误堆栈:

NameError(未初始化常量 OpenIdAuthentication::InvalidOpenId):/Library/Ruby/Gems/1.8/gems/ authlogic-oid-1.0.4/lib/authlogic_openid/session.rb:53:in openid_identifier=' /Library/Ruby/Gems/1.8/gems/authlogic-oid-1.0.4/lib/authlogic_openid/session.rb:47:incredentials='authlogic (2.1.2) lib /authlogic/session/foundation.rb:28:in initialize' authlogic (2.1.2) lib/authlogic/session/password.rb:140:ininitialize' authlogic (2.1.2) lib/authlogic/session/activation.rb:48:in initialize' authlogic (2.1.2) lib/authlogic/session/klass.rb:61:ininitialize' authlogic (2.1.2) lib/authlogic/session/scopes.rb :79:in initialize' app/controllers/user_sessions_controller.rb:10:innew' app/controllers/user_sessions_controller.rb:10:in `create'

有没有人面临同样的问题?我正在使用导轨 2.3.4

我尝试了运行良好的二进制示例应用程序(rails 2.1.2),我尝试了 Ryan Bates 提供的代码,它也运行良好(rails 2.3.2)。因此,这些库正在使用以前版本的 rails。

有什么线索吗?

0 投票
1 回答
585 浏览

ruby-on-rails - 仅在生产中出现的奇怪的 authlogic 问题

上下文:带有 authlogic 的 Rails 应用程序,用于 sigup 和登录设置信息:Rails 2.3.2

一个控制器调用带有动作“显示”的帖子。登录后,我会显示帖子/索引页面。

当用户点击一个项目时,项目的详细信息就会显示出来。相当标准的东西。

所有这些在开发和生产中都可以正常工作(Apache在ubuntu和mysql上使用Passenger 2.2.5),除了在一种情况下出现以下问题:

问题:仅适用于 Firefox/Safari/Chrome(IE7 可以)且仅适用于 PRODUCTION,

当用户在新会话中第一次登录时(打开新浏览器,输入 url),索引页面显示正常,当单击项目时,用户神秘地退出(current_user 返回 null)。

当您再次登录时,一切都恢复正常 - 您可以注销并登录任意次数并且没有问题 - 直到您关闭浏览器并重新开始。

除了“显示”之外的任何其他操作都保留了 current_user 并且工作正常。

问题:用户会话如何在像这样的帖子/id 这样的呼叫中丢失一次 - 第一次?表演动作没有做任何特别的事情。

我已将 ActiveRecord 存储和 Cookie 用于具有相同行为的会话管理。

谁有线索,不胜感激!

0 投票
2 回答
491 浏览

ruby-on-rails - Authlogic openid:获取未定义的方法 openid_identifier?功能测试错误

我将 Authlogic 与 Authlogic-openid 插件一起使用(我 gem 安装了 ruby​​-openid 和 script/plugin install git://github.com/rails/open_id_authentication.git)并得到两个错误。

首先在运行功能测试时,我得到一个未定义的方法 openid_identifier?运行 UsersControllerTest 时我的 new.html.erb 文件中的一行上的消息。该行是:

运行脚本/控制台时,我可以毫无问题地访问此方法。

其次,在测试 openid 功能并使用 openid 向我的应用程序注册新用户并使用我的 blogspot 帐户时,我在日志文件中得到以下信息:

users_controller 中的代码很简单:

给出错误的行是@user.save do |result|...

我觉得我错过了一些非常基本的东西,但我已经盯着这个太久了,因为我找不到它是什么。我检查了 Railscasts 第 160 集和第 170 集的代码以及 GitHub 项目的骨骼,但一无所获。

谢谢你的帮助,usr

0 投票
2 回答
1991 浏览

ruby-on-rails - Ruby on Rails:如何在 authlogic 的会话中存储其他数据

我正在使用 Authlogic 对用户进行身份验证。

我了解如何创建和使用会话,但想在 authlogic 创建的 current_user 会话中存储一个额外的 id 变量。

我可以做这样的事情:

但是,我不确定 authlogic 会话的名称是什么或如何访问它。

谢谢!

0 投票
1 回答
176 浏览

ruby-on-rails - 使用 authlogic_oauth 时 accept_nested_attributes_for 的问题

我有以下型号:

我正在使用 authlogic_oauth gem 进行 Twitter 身份验证。注册时,我保存了 Merchant 和 Store 模型。如果我禁用 oauth 身份验证,两个模型都会保存。当我启用 oauth 身份验证时,只会保存 Merchant 实例。

在花了一些时间查看 authlogic_oauth gem 代码后,我认为找到了罪魁祸首。authlogic_oauth gem 在 oauth 调用期间将 ActiveRecord 属性存储在会话中。但它不存储关联的属性。

我可以破解 gem 代码,但我想知道是否有更好的解决方案。

0 投票
1 回答
225 浏览

ruby-on-rails - Facebooker 在 Windows 上安装

嘿伙计们,我正在尝试使用以下方法安装 facebooker:

宝石安装facebooker

在我的 Win7 机器上。它返回这个:

检查 ruby​​/st.h... * extconf.rb 失败 *由于某种原因无法创建 Makefile,可能缺少必要的库和/或头文件。检查 mkmf.log 文件以获取更多详细信息。您可能需要配置选项。

我正在运行 Ruby 1.9.1、Gems 1.3.5 和 Rails 2.3.5

我找到了这个,没有用。我实际上在尝试安装 json gem 时遇到了同样的错误。

http://blog.spaceprogram.com/2009/03/gem-install-facebooker-on-windows.html

多谢你们!

0 投票
1 回答
80 浏览

openid - 站点仅支持 OpenID 登录时的访问恢复机制

假设我有一个站点,例如 StackOverflow,它只支持 OpenID 登录。假设某人在网站上有一个帐户,绑定到他的 OpenID,然后他失去了对他的 OpenID 提供商的访问权限(这肯定是可能的,并且不比丢失您的电子邮件密码更难)。然后他将如何恢复对其帐户的访问权限?

我看到了两种选择:一种是通常的 mail-me-a-key 序列,只有在他提供了电子邮件地址的情况下才适用。

二是他本可以为此类紧急情况提供备用 OpenID(我认为这就是 SO 所做的)。

你(或者你会)如何使用 OpenID 实现访问恢复?有什么想法吗?

如果这很重要,我正在使用 RoR + Authlogic-openid。

0 投票
5 回答
2832 浏览

ruby-on-rails - 强制验证 Authlogic 中的空白密码

我正在向使用 Authlogic 的 Rails 应用程序添加密码重置功能。我在这里遵循指南:http: //www.binarylogic.com/2008/11/16/tutorial-reset-passwords-with-authlogic/一切都按照我的意愿进行,除了一件事:密码重置表格接受空白密码并且根本不更改它们。

我一直在四处寻找,并了解到这是预期的默认行为,因为它允许您让用户编辑表单,只有在用户输入新密码时才更改用户密码,否则忽略它。但在这种情况下,我特别想在用户最初注册时强制验证密码。我已经为这个问题找到了两种可能的解决方案,但无法弄清楚如何实现它们中的任何一个。

1) 有人在 Google Groups 上问过同样的问题:

用户模型使用空白密码保存

Ben 的回应是用来@user.validate_password = true强制验证密码。我试过这个,但我得到一个未定义的方法错误:undefined method 'validate_password_field=' for #<User>.

2)似乎有一个名为 Authlogic 的配置选项ignore_blank_passwords。它记录在这里:

模块:Authlogic::ActsAsAuthentic::Password::Config#ignore_blank_passwords

这看起来可行,但我的理解是,这是您acts_as_authentic在用户模型中的初始调用中使用的全局配置选项,我不想在应用程序范围内更改它,因为我确实有定期编辑我希望默认忽略空白密码的用户的表单。

有人找到解决方案吗?我validate_password=在 Authlogic 1.4.1 的更改日志中看到,从那时起就没有任何关于它的内容被删除。我只是不正确地使用它吗?有没有办法ignore_blank_passwords在每个请求的基础上使用?