Tag: 身份validation

用设计白名单

我正在使用设计来管理我的rails应用程序中的用户身份validation。 设计真的很棒。 但是我对我的应用程序有特殊要求:用户必须先列入白名单才能注册为用户。 因此,有一个管理员可以创建允许的电子邮件列表。 用户使用电子邮件注册,如果电子邮件位于白名单表中,则他将被注册。 但是,如果邮件不在白名单中,则应使用“您尚未被邀请”之类的消息中止注册。 你知道如何用设计解决这个问题吗? 提前致谢。

登录Web App服务器的用户的API身份validation

我正在构建一个Web应用程序和一个单独的API(以便用户可以使用Ruby on Rails与他人共享他们收集的数据)。 用户可以登录Web应用程序并填写应发布到API服务器的数据。 从我读过的所有内容到现在,我想我可以使用基于cookie的身份validation来检查用户是否登录到Web App。 现在让我们假设用户想要将数据发布到API服务器。 由于用户已通过Web App Server进行身份validation,因此应如何进行发布请求,以便API知道它正在从登录的特定用户获取数据。此外,如果用户想要从API获取数据,对他/她来说是私人的,应该如何为此目的提出请求?

Omniauth:回调未触发,返回失败并显示“无效凭据”

我的Rails应用程序中使用Omniauth gem实现的facebook身份validation最近已停止工作。 问题是回调应该使用的控制器操作不会被触发,并且进程会立即跳过“无效凭据”消息而失败。 日志: Started GET “/auth/facebook” for ::ffff:127.0.0.1 at 2017-03-29 11:12:29 +0200 Started GET “/auth/facebook/callback?code=<>&state=<” for ::ffff:127.0.0.1 at 2017-03-29 11:12:30 +0200 Started GET “/auth/failure?message=invalid_credentials&origin=<>&strategy=facebook” for ::ffff:127.0.0.1 at 2017-03-29 11:12:31 +0200 Started GET “/login” for ::ffff:127.0.0.1 at 2017-03-29 11:12:31 +0200 Processing by UserSessionsController#new as HTML 路线: match “/auth/failure” => redirect(“/login”), :via => [:get, :post] match […]

使用LDAP / AD登录身份validation时如果使用AD记录不存在用户行,如何创建用户行

目前我的sessions_controller有这个代码: class SessionsController < ApplicationController def new end def create username = params[:nome] password = params[:password] name = username if AuthenticateUser.new(username, password).call user = User.create_with(nome: name).find_or_create_by(nome: user) session[:user_id] = user.id redirect_to '/' else flash[:error] = "Erro! \nNúmero de Empregado e/ou password incorrecto(a)" redirect_to '/login' end end def destroy session[:user_id] = nil redirect_to '/index/new' end end […]

获取意外的用户参数并且无法访问Rails中的密码参数

我开始在Rails with React中设置用户身份validation系统,并且发生了两件奇怪的事情: 1)我的POST请求包括一个user参数,我很确定我没有自己配置(我跟着一本Rails指南书)。 此user参数包含所有其他参数的重复,如下所示: Started POST “/api/user” for 127.0.0.1 at 2018-01-29 21:54:42 -0800 Processing by Api::UserController#create as JSON Parameters: {“email”=>”test@test.com”, “password”=>”[FILTERED]”, “first_name”=>”test”, “last_name”=>”test”, “groupname”=>”test”, “admin”=>”true”, “user”=>{“email”=>”test@test.com”, “first_name”=>”test”, “last_name”=>”test”, “groupname”=>”test”, “admin”=>”true”}} Can’t verify CSRF token authenticity. No template found for Api::UserController#create, rendering head :no_content Completed 204 No Content in 39ms (ActiveRecord: 0.0ms) 2)如果您没有注意到,我的password参数是唯一一个未包含在我的user参数中的password (可能是因为我在我的users模型中调用了has_secure_password ?),我无法弄清楚如何添加它到我的private变量。 […]

如何用LDAP进行Ruby on Rails认证?

我正在开发一个Web应用程序,我有一个使用bcrypt gem的身份validation方法它工作正常,但我想将身份validation方法更改为LDAP,因为我正在使用Intranet环境并希望我的用户能够使用Windows登录证书。 我正在寻找使用net-ldap gem但我无法在网上找到关于如何在我的Web应用程序中实现这一点的任何好的总结/解释。 你能帮我解决这个问题吗? 我怎样才能做到这一点?

自定义设计控制器不工作

我有两个模型常驻和用户。 它们都包含roll_number属性,我现在已经在驻留模型中输入了数据,当用户注册它是Devise资源时它检查驻留模型中是否存在相同的roll_number? 然后用户可以注册!! 所以基本上我将属性(roll_number)添加到Devise的用户模型,然后我编辑了注册控制器的Create方法,这里的代码是: class Users::RegistrationsController < Devise::RegistrationsController before_action :configure_sign_up_params, only: [:create] before_action :configure_account_update_params, only: [:update] # GET /resource/sign_up # def new # super # end def create super resident = Resident.find_by(roll_number: params[:roll_number]) if resident.present? @user = resident.create_user(params) if @user.save flash[:info] = "Welcome to messpay" redirect_to root_url else render 'new' end else flash[:danger] = "You […]

奇怪的Rails身份validation问题

我正在为我正在开发的应用程序使用RESTful身份validationRails插件。 我有一个奇怪的问题,我无法深究。 基本上,我第一次在一段时间不活动后登录应用程序(应用程序在生产中部署,但仅由我使用),我将被带到404页面,但如果我回到主页并且再次登录,一切按计划进行。 有任何想法吗?

Redmine:422无效forms真实性令牌

我正在使用此插件在我的IDP和redmine之间启用SSO。 目的是避免在登录redmine时重新输入用户名和密码。 Redmine和IDP都连接到外部LDAP。 问题是从我的IDP重定向回redmine(输入用户名和密码后),它给出了这个错误。 Redmine版本:2.5.2,Ruby版本:1.9.3,Rails版本:3.2.19

Rails:用户使用以下命令销毁不相关的对象后退出:remote => true

我正在关注http://railscasts.com/episodes/250-authentication-from-scratch进行简单的身份validation。 它按预期工作。 我的应用程序中有一个模型,其中包含以下partial : ‘Are you sure?’, :method => :delete, :remote => true %> 它在index.html.erb调用如下: @posts.reverse %> destroy.js.erb如下所示,如果对象被成功销毁则调用它。 $(‘#’).css(‘background’, ‘red’); $(‘#’).hide(); 单击delete按钮后, post对象将被正确删除, destroy.js.erb也会正确呈现。 但不知何故,用户已注销。 以下是我的posts_controller.rb的代码: def destroy logger.error ‘in destroy’ @post = Job.find(params[:id]) @post.destroy respond_to do |format| format.html { redirect_to(posts_url) } format.xml { head :ok } format.js end end 任何线索为什么会出现这种行为? 并且,如果我从delete链接中删除:remote => true ,那么用户仍然登录。我在session的destroy方法中有日志语句,在任何一种情况下都不会被调用,但如果’ […]