Tag: 认证

Rails 4身份validation

哪个gem最适合在Rails 4中进行身份validation? 我尝试使用设计,但我遇到了问题。 .rvm/gems/ruby-2.0.0-p0/gems/activemodel-4.0.0.beta1/lib/active_model/deprecated_mass_assignment_security.rb:14:in `attr_accessible’: `attr_accessible` is extracted out of Rails into a gem. Please use new recommended protection model for params(strong_parameters) or add `protected_attributes` to your Gemfile to use old one. (RuntimeError) from /home/leapfrog/projects/kathloc/app/models/user.rb:8:in `’ from /home/leapfrog/projects/kathloc/app/models/user.rb:1:in `’ from /home/leapfrog/.rvm/gems/ruby-2.0.0-p0/gems/activesupport-4.0.0.beta1/lib/active_support/dependencies.rb:423:in `load’ from /home/leapfrog/.rvm/gems/ruby-2.0.0-p0/gems/activesupport-4.0.0.beta1/lib/active_support/dependencies.rb:423:in `block in load_file’ from /home/leapfrog/.rvm/gems/ruby-2.0.0-p0/gems/activesupport-4.0.0.beta1/lib/active_support/dependencies.rb:615:in `new_constants_in’ from /home/leapfrog/.rvm/gems/ruby-2.0.0-p0/gems/activesupport-4.0.0.beta1/lib/active_support/dependencies.rb:422:in `load_file’ from /home/leapfrog/.rvm/gems/ruby-2.0.0-p0/gems/activesupport-4.0.0.beta1/lib/active_support/dependencies.rb:323:in […]

从Restful身份validation迁移到Devise

许多Rails 2.3应用程序正在使用Restful Authentication,但该插件似乎与Rails 3有一些问题。在升级到Rails 3时,我一直在使用Devise。 有没有办法从Restful Authentication顺利过渡到Devise? 有没有人做过迁移,显示如何更新用户模型?

什么是devise_mapping变量,我该如何包含它?

我正在尝试在我的Rails应用程序中使用Devise实现身份validation(Rails 2.3.8,Devise 1.0.7,在Windows Vista上运行的mongrel)。 但是我收到以下错误: undefined local variable or method `devise_mapping’ for # 这是我使用自动生成的部分_devise_links.html。 有想法该怎么解决这个吗? 我假设devise_mapping变量没有包含在我的视图中,但我该怎么办呢?

使用Rails自动登录?

我正在尝试使用Rails的Restful-Authentication插件启动一个简单的身份validation系统,我只是想知道它是如何工作的,b / c我似乎无法弄清楚对cookie的要求是什么,以及如何使它如此浏览器总是记得你(6个月以上)。 几个问题: 1)你如何为ruby的restful_authentication做记住_me? 我似乎找不到一个好的单行来解决这个问题…… 如果用户注册并检查“记住我”,那么rails应用程序如何在用户没有做任何事情的情况下获取会话/ cookie,而是在下次访问该页面时进入该页面,比如3个月后? 2)我是否需要向服务器发送某种信息,比如他们的IP地址或其他什么? 什么是cookies[:auth_token] ,在哪里定义? 目标是:我不希望他们再次输入他们的电子邮件/密码,就像StackOverflow如何工作:)

如何匿名识别用户并存储该信息

我需要一个简单的用户识别系统,以允许/禁止一个动作 。 这不是一个高安全性要求 ,可以犯错误(例如,同一用户将使用不同的浏览器执行不允许的操作)。 为了减少抽象,让我们看看StackOverflow投票,并假设我们希望允许公众投票 ,但只允许一次。 最简单的方法就是使用cookie :每个答案设置一个新的cookie; 将所有投票存储在一个cookie中(或以某种方式组合这些)。 由于cookie大小/数量的限制,这有点不可靠。 它还会一直将cookie发送到网站,而只需要1次操作。 所以从这个角度来看,我想避免使用cookie。 但是,不要在常规HTTP上做得更好。 我不考虑IP / MAC地址等。 因此,根据上述背景,问题是:如何匿名识别用户并将该信息存储在客户端上? 谢谢。

Authlogic:为#<User获取一个未定义的方法`password':

即使我在模型中添加了“acts_as_authentic”,我也无法在Authlogic中获取用户模型来理解“密码”方法。 在Authlogic灯塔上也报道了这个问题,但是没有人描述他们如何修复它: http://binarylogic.lighthouseapp.com/projects/18752/tickets/128-undefined-method-password-on-rails-231#ticket-128-9 用户表存在所有必需的字段,控制器和其他所有内容肯定遵循教程中的字母。 谁知道什么可能是错的? (哦,我正在运行Rails 2.3.3,Authlogic 2.1.1)

在php和Ruby On Rails应用程序之间传递身份validation

我有一个简单的Ruby on rails应用程序,我想与现有的php网站集成。 我只希望通过php应用程序进行身份validation的用户可以访问我的Ruby on Rails应用程序(它应该在用户看来是同一个网站,在同一个域中,但如果我选择它可能是一个不同的子域to)最好的方法是什么? 谢谢您的帮助, 里

新添加的列数据未保存到DB

我在我的Rails 4应用程序中使用Devise进行用户身份validation。 最近我在User模型中添加了两个新列。 它们是first_name和last_name. 然后,我使用这两个属性的字段更新了登录表单。 但是,在测试创建新用户时,两者都没有保存到数据库中。 我认为这可能是一个质量分配问题,但我没有得到任何类型的数据库错误。 用户已成功创建,但仅存储原始属性(email,password和password_confirmation)。 有人可以帮忙吗? 这是我的表单的代码: resource_name, :url => registration_path(resource_name)) do |f| %> 从控制台显示我的模型信息,显示已添加属性: User(id: integer, email: string, encrypted_password: string, reset_password_token: string, reset_password_sent_at: datetime, remember_created_at: datetime, sign_in_count: integer, current_sign_in_at: datetime, last_sign_in_at: datetime, current_sign_in_ip: string, last_sign_in_ip: string, created_at: datetime, updated_at: datetime, first_name: string, last_name: string)

OmniAuth单点登录与Devise,invalid_credentials

我有3个网络应用程序 – A,B和C.应用程序A包含用户数据库。 如果访问App B和App C,我希望将用户重定向到App A进行身份validation,然后返回到他们尝试访问的任何应用程序。 同时,他们应该登录到所有应用程序。 除非有人有更好的解决方案,否则我已经使用了本博客文章中描述的OmniAuth / Devise组合解决方案。 我已经分发并更新到Rais 3.1.2示例应用程序A和示例应用程序B / C. 应用A – 提供商 – https://github.com/RobZolkos/sso-devise-omniauth-provider App B / C – 客户端 – https://github.com/RobZolkos/sso-devise-omniauth-client 这些示例应用程序正常工作,我将被重定向到提供程序应用程序进行身份validation,但它似乎无法进行身份validation。 我在这里附上了日志。 提供商似乎经历了这些动作,但是在日志的第26行,您可以看到似乎存在身份validation问题。 我错过了一些简单的方法来使这些示例应用程序工作吗

为登录用户设计忘记密码

我想知道是否有一种方式调用’忘记密码’程序而不强迫我的用户注销 我遇到的情况是:1。用户使用facebook登录,为他们生成假密码2.然后用户想要更改他们的电子邮件/名称/密码,或者只使用非Facebook登录 由于设计需要密码来更改这些字段,因此用户无法修改它们 我曾经考虑过不强制设置密码,但安全性没有意义,所以我只是将字段显示为文本并通知用户按照“忘记密码”程序设置密码然后他们可以改变领域 问题是我不能简单地从用户配置文件链接到这个,因为设计会告诉用户他们在登录时无法执行此操作。 那么是否有一种覆盖忘记密码或/ users / password / edit方法的方式,以便登录用户也可以执行此操作?