问题标签 [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.
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
ruby-on-rails - 是否有任何与 DataMapper 一起使用的身份验证插件?
我需要一种适用于 DataMapper 的身份验证方法。我可以看到 authlogic 插件需要这些字段
在用户模型中。仅使用 DataMapper 将这些字段添加到用户模型定义中就足够了吗?
ruby-on-rails - Rails、OpenID 和 Authlogic
我一直在关注ryan baytes 截屏视频 #170,并将ruby -openid 、authlogic和authlogic-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:in
credentials='authlogic (2.1.2) lib /authlogic/session/foundation.rb:28:in initialize'
authlogic (2.1.2) lib/authlogic/session/password.rb:140:in
initialize' authlogic (2.1.2) lib/authlogic/session/activation.rb:48:in initialize'
authlogic (2.1.2) lib/authlogic/session/klass.rb:61:in
initialize' authlogic (2.1.2) lib/authlogic/session/scopes.rb :79:in initialize'
app/controllers/user_sessions_controller.rb:10:in
new' app/controllers/user_sessions_controller.rb:10:in `create'
有没有人面临同样的问题?我正在使用导轨 2.3.4
我尝试了运行良好的二进制示例应用程序(rails 2.1.2),我尝试了 Ryan Bates 提供的代码,它也运行良好(rails 2.3.2)。因此,这些库正在使用以前版本的 rails。
有什么线索吗?
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 用于具有相同行为的会话管理。
谁有线索,不胜感激!
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
ruby-on-rails - Ruby on Rails:如何在 authlogic 的会话中存储其他数据
我正在使用 Authlogic 对用户进行身份验证。
我了解如何创建和使用会话,但想在 authlogic 创建的 current_user 会话中存储一个额外的 id 变量。
我可以做这样的事情:
但是,我不确定 authlogic 会话的名称是什么或如何访问它。
谢谢!
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 代码,但我想知道是否有更好的解决方案。
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
多谢你们!
openid - 站点仅支持 OpenID 登录时的访问恢复机制
假设我有一个站点,例如 StackOverflow,它只支持 OpenID 登录。假设某人在网站上有一个帐户,绑定到他的 OpenID,然后他失去了对他的 OpenID 提供商的访问权限(这肯定是可能的,并且不比丢失您的电子邮件密码更难)。然后他将如何恢复对其帐户的访问权限?
我看到了两种选择:一种是通常的 mail-me-a-key 序列,只有在他提供了电子邮件地址的情况下才适用。
二是他本可以为此类紧急情况提供备用 OpenID(我认为这就是 SO 所做的)。
你(或者你会)如何使用 OpenID 实现访问恢复?有什么想法吗?
如果这很重要,我正在使用 RoR + Authlogic-openid。
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
在每个请求的基础上使用?