Tag: 认证

Rails身份validation插件推荐

我想在我的Rails应用程序中添加身份validation。 我遇到了几个执行此操作的插件:acts_as_authenticated,restful_authentication,Authlogic ……等 我没有看到一篇描述使用每种方法的差异,优点和缺点的文章。 你可以帮忙吗? 你使用哪一个?为什么? 谢谢, 谭

在Rails 2.2+中测试HTTP Basic Auth

作为我正在构建的API的一部分,有一种用户身份validation方法,成功时返回有用的用户信息,API令牌等的有效负载。 在为处理此问题的控制器编写function测试时,我遇到了测试HTTP Basic auth的问题; 我发现很多博客提到以下代码应该用于欺骗标头以进行身份​​validation尝试: @request.env[‘HTTP_AUTHORIZATION’] = ActionController::HttpAuthentication::Basic.encode_credentials(email, pass) 问题是这没有效果; authenticate_with_http_basic看不到标题,因此即使存在有效凭据也会返回false。 我错过了什么吗? 请注意,如果在回答中有用,应用程序将被冻结到Rails 2.2.2。

使用Devise用于两个不同的模型,但使用相同的登录表单

我在这里看到了很多类似的问题,但没有什么能满足我的需要。 我是一个非常棒的开发人员,但这个新项目是我第一次使用Rails 3和Devise(我通常使用authlogic)。 我的应用程序有两个不同的模型,我想通过设计进行身份validation。 一,用户只是一个标准的用户模型二,商业类似于用户,(它也有一个电子邮件地址栏)但它在数据库中有其他信息(地址,电话号码等) 我希望能够通过相同的登录表单将它们记录下来。 然后,显然一旦他们登录,他们将被呈现不同的信息,具体取决于模型的登录类型。 我计划使用OmniAuth允许用户(尽管可能不是商家)通过Facebook注册/开启可能相关或不相关。 谢谢! 这样做最简单的方法是什么?

使用用户名设计无需密码的身份validation

是否可以设置Devise进行身份validation而无需密码? 这是一个Intranet应用程序。 为了连接它,你必须首先在VPN上,加上应用程序只允许查看订单和历史的状态,而不是提交任何信息。 我想类似于FedEx或UPS跟踪网站,但允许用户查看整个帐户,增加了客户端从我们这里获得的VPN盒的安全性。 现在我仍然需要密码,但这是对项目的不可协商的要求。 客户已经习惯了这种方案,并且不太精通计算机,无法快速适应变化。

如何使用Rails,Devise和Backbone.js进行令牌认证?

我正在尝试使用PhoneGap,jQuery Mobile和Backbone.js在客户端构建移动应用程序 – 使用运行服务器端的Rails 3 JSON API。 我知道如何在经过身份validation后从服务器获取令牌,但我不知道如何将“token_auth”键/值附加到Backbone.js将对我的服务器进行的所有AJAX请求。 这是我目前的流程: 用户在某些表单字段中键入并点击“登录” Backbone使用电子邮件和密码信息创建一个新的Player对象。 我运行一个Player.authenticate,将令牌设置为AUTHENTICATION_TOKEN 此后的所有请求都应附加“auth_token =”+ AUTHENTICATION_TOKEN 我看过http://documentcloud.github.com/backbone/#Sync可能会覆盖AJAX调用 – 但这对于这个简单的任务来说似乎非常极端。 有没有人有运行Devise token_authentication和Backbone.js的经验?

跨不同子域的rails应用程序共享会话

我正在尝试为example.com的不同子域托管的多个rails(v3.2)应用实施单点登录解决方案 一个应用程序用作身份提供程序,使用devise进行身份validation,并位于users.example.com其他应用程序依赖身份提供程序进行身份validation,使用devise + omniauth,域名为[app1.example.com,app2.example .com和example.com]。 这篇博客文章启发了我的大部分实现: http : //blog.joshsoftware.com/2010/12/16/multiple-applications-with-devise-omniauth-and-single-sign-on/ 我有它工作正常,但问题仍然是会话没有共享所以在我登录身份提供商后,我仍然需要从每个其他应用程序打电话进行身份validation,我需要这个是无形的用户。 我尝试在secret_token.rb使用相同的秘密令牌,在session_store.rb使用相同的会话密钥,并且:domain =>:all(也尝试’.example.com’和’example.com’作为值)。 仍然没有运气。 执行上述操作后,我在session.inspect中看到,在登录身份提供程序后,会填充会话变量“warden.user.user.key”。 当我立即转到app1.example.com上的应用程序时,session.inspect显示相同的session_id和_csrf_token,但现在缺少“warden.user.user.key”变量。 我觉得我错过了一些愚蠢的东西……任何想法可能是什么?

从github隐藏我的敏感信息(例如密码)

我刚刚设置了Devise(rails认证插件),在注册时发送确认电子邮件。 这涉及到我将以下内容放入我的environment.rb文件中: ActionMailer::Base.delivery_method = :smtp ActionMailer::Base.smtp_settings = { :tls => true, :address => “smtp.gmail.com”, :port => 587, :domain => “gmail.com”, :authentication => :login, :user_name => “[my email]”, :password => “[my pass]” } 我显然不想把它推到github,只有坐在那里[我的通行证]。 这里有标准做法吗?

如何使用Devise根据角色重定向用户的主(根)路径?

我正在开发一个项目管理应用程序,在应用程序中,我有project_managers和客户端 。 我正在使用Devise和CanCan进行身份validation/授权。 在登录后的什么时候我应该将用户重定向到他们自己的特定控制器/布局/视图? 有没有办法检查routes.rb current_user.role并根据它们是项目经理还是客户端设置root(或重定向)? 这是我在Devise某处可以做出的改变吗? 在此先感谢您的帮助! – 标记

同时使用帐户和用户表与Devise

我正在使用Rails 3.1.0和Devise 1.4.8,对我们两个都是新手。 我想允许多个用户使用帐户。 第一个注册用户创建帐户(可能是他们的公司),然后该用户可以添加更多用户。 用户始终只链接到一个帐户。 我有用户和帐户表。 缩写模型: class User < ActiveRecord::Base belongs_to :account devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable, :confirmable, :lockable, :timeoutable attr_accessible :email, :password, :password_confirmation, :remember_me end class Account :destroy attr_accessible :name, :account_type end 问题是,当第一个用户注册时,如何创建帐户和用户? 我是否需要修改/覆盖Devise registrations_controller,就像这里的答案一样? 我无法弄清楚如何创建帐户然后将其传递给Devise以创建用户。 account_id已在User模型中。 我应该将account_name和account_type添加到User模型,如果未传入account_id,还要创建一个新的Account记录? 在这种情况下,我试图隐藏Devise中的帐户创建,但不确定是否可行,因为我仍需要在注册页面上提示account_name和account_type。

Rails:一个有2个域的应用程序 – 共享身份validation

我的网站在Heroku上的mydomain.com上进行了Devise身份validation。 我买了一个简短的urlme.do我也指向我的同一个Heroku应用程序。 当用户登录mydomain.com时,我也需要他们登录me.do所以当他们去me.do登录mydomain.com后,他们不必再次登录。 如何在mydomain.com和me.do上使用Devise共享身份validation会话?