- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
Authlogic 在创建新用户时似乎忽略了密码参数。这是我的 users_controller 类:
class Api::V1::UsersController < ApplicationController
def create
@user = User.new(user_params)
respond_to do |format|
if @user.save
format.json { render :json => @user, :status => :created}
else
format.json { render :json => @user.errors, :status => :unprocessable_entity }
end
end
end
private
def user_params
params.require(:user).permit(:username, :email, :password)
end
end
还有我的用户模型:
class User < ActiveRecord::Base
acts_as_authentic do |c|
c.require_password_confirmation = false
end
end
当我使用用户名、电子邮件和密码参数向/api/v1/users/发送 POST 请求时,authlogic 说密码不能为空,即使它不是。这是 rails 打印出来的内容:
Started POST "/api/v1/users/" for 127.0.0.1 at 2013-06-22 00:03:30 -0400
Processing by Api::V1::UsersController#create as */*
Parameters: {"email"=>"someemail@website.com", "password"=>"[FILTERED]", "username"=>"myUser", "user"=>{"username"=>"myUser", "email"=>"someemail@website.com"}}
(0.2ms) BEGIN
User Exists (0.4ms) SELECT 1 AS one FROM "users" WHERE LOWER("users"."email") = LOWER('someemail@website.com') LIMIT 1
User Exists (0.2ms) SELECT 1 AS one FROM "users" WHERE LOWER("users"."username") = LOWER('myUser') LIMIT 1
User Exists (0.3ms) SELECT 1 AS one FROM "users" WHERE "users"."persistence_token" = '7b72bab3627914d33e83e4efe1c5a9dab190750efb227698c8b5b6be7a7ccf118160d8e12623078543e0f4e5f31eb30828799cb0d97fb2af195daee894c79902' LIMIT 1
(0.2ms) ROLLBACK
Completed 422 Unprocessable Entity in 33ms (Views: 0.2ms | ActiveRecord: 3.2ms)
我正在使用最新的 authlogic 和 Ruby 2/Rails 4。
最佳答案
看一下 Rails 日志的摘录:
{"email"=>"someemail@website.com", "password"=>"[FILTERED]", "username"=>"myUser", "user"=>{"username"=>"myUser", "email"=>"someemail@website.com"}}
看起来您发送的参数略有错误。要被 Authlogic 识别,password
参数应位于参数哈希中的 user
键下。 IE。 Rails 日志中的那一行应该如下所示(注意字符串的末尾):
{"email"=>"someemail@website.com", "password"=>"[FILTERED]", "username"=>"myUser", "user"=>{"username"=>"myUser", "email"=>"someemail@website.com", "password" => "[FILTERED]"}}
要修复它,您可以像这样进行破解:
private
def user_params
params.require(:user).permit(:username, :email).merge(:password => :password)
end
或者,您可以调整从客户端发送的参数(例如,在发送 HTTP 时使用
请求)。user[password]
参数名称而不是仅仅 password
POST
关于ruby-on-rails - Authlogic 忽略密码参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17247244/
我正在尝试在 Rails 中编写一个简单的 OAuth 消费者应用程序。我正在使用 Authlogic 处理身份验证,并使用 Authlogic OAuth 插件来执行 oauth。 oauth 插件
尽管遵循文档,但我收到以下错误。 在 test_helper.rb 中 ENV["RAILS_ENV"] = "test" require File.expand_path(File.dirname(
我最近开始使用我非常喜欢的 Python 3。我是学徒期的系统管理员,所以我几乎没有编程经验。我想制作一个小程序,它会在每次有人通过 ssh 登录我的系统时告诉我。我将使用 espeak-python
rails 社区似乎正在离开 Authlogic 转而支持 Devise。我已经使用 Authlogic 一年多了,想知道原因是什么。这只是营销,还是有充分的理由?在这一点上,我使用了 Devise
早上好 我正在尝试找出管理这种用户情况的最佳方法。 我有用户和分支机构。两者之间已经存在HABTM关系,因为用户可以注册affiliates,affiliates可以接触用户,获取各种数据点。 现在我
是否可以让 AuthLogic 验证密码确认(如果存在),否则忽略它?所以,如果我的参数如下,我希望失败: { user: { password: "abcd", password_confirmat
我很难与Authlogic一起使用OpenId身份验证。看来问题出在open_id_authentication插件的更改。从到目前为止的内容来看,需要从使用gem转换为使用插件。 到目前为止,这是我
所以我让 Authlogic 可以很好地处理这个 user_sessions/new看法: user_session_path do |f| %> Invalid username o
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 8年前关闭。 Improve this q
我在我的应用程序中使用 Authlogic gem,我需要用户在 15 分钟不活动后自动注销。谁能告诉我该怎么做? 最佳答案 在用户模型上: acts_as_authentic do |c| c.
关注此 tutorial收到以下错误: NameError in Admin/dashboardsController#show uninitialized constant Admin::Dash
我计划公开 Rails 项目的数据库以供下载。该数据库包含一个 Authlogic 用户表,其中包含 crypted_password 和 password_salt 字段。这些密码的存储安全性如
我使用 Authlogic 来处理登录/身份验证/ session 等,我使用 Paypal 来处理我的网站订阅付款。对于试用期已过的用户,我想在他们完成 Paypal 付款流程后自动登录,但如果没有
Authlogic 在创建新用户时似乎忽略了密码参数。这是我的 users_controller 类: class Api::V1::UsersController @user, :status =
我在我的 ubuntu 14.04 上遇到了这个问题,我有 rails 4.1.8 和 ruby 2.1.2。上次我在 mac OSX 10.10 上尝试使用相同的 rails 和 ruby
我目前正在开发一个存储明文密码的 Rails 应用程序 (...)。所以我正在迁移到使用“标准”SHA512 加密的 Authlogic 身份验证。 我做的很好: #file /models/user
我最近在我的项目中实现了 Authlogic 以进行身份验证。我关注了http://railscasts.com/episodes/160-authlogic并启动并运行。想要添加电子邮件确认,我
在我的一些 Controller 中,我有一个 before_filter 检查用户是否登录?用于 CRUD 操作。 application.rb def logged_in? unless cu
在我的系统中,用户通过 rails 网站注册。我必须从用 ruby 编写的自定义应用程序服务器对用户进行身份验证。 错误信息: You must activate the Authlogic::S
我如何覆盖/设置 authlogic 以使用电子邮件字段而不是用户名字段进行注册和身份验证,对于某些注册场景来说,用户名 + 电子邮件有时过于紧张 最佳答案 如果您只是删除 login 列并添加一个
我是一名优秀的程序员,十分优秀!