我发现在Rails 3.0版中config/environment.rb文件看起来不同.
此外,当我添加行"config.gem"authlogic".To environment.rb文件
我正在使用AuthLogic进行登录,但我希望"email"是可选的.然而,似乎开箱即用的authlogic使得这一点得到了验证.有人知道解决方法吗?
我在 rails 应用程序中使用Authlogic进行密码验证。我想确保用户不使用过去 10 个使用过的密码中的任何一个。Authlogic 是否允许您这样做,或者您必须手动滚动某些东西?
我想使用"authenticate_ with_ http_ basic"但我无法让它工作.
在我的RoR应用程序中,Authlogic工作正常,我正在使用用户会话.虽然保持这种方法现在我需要使用authenticate_with_http_basic.I有一个iPhone SDK应用程序,现在我需要从我的webapp获取一些产品并显示为列表.所以我假设我需要像这样将请求发送到我的webapp; HTTP://用户名:password@192.168.1.9/products/
所以我的问题是验证这个用户名和密码以及我需要对UserSession控制器做些什么?
我正在使用Authlogic,我想在我的控制器中实现基本HTTP身份验证,以便我可以定义哪个操作需要身份验证.
我知道如何做基本的HTTP身份验证authenticate_or_request_with_http_basic和before_filter,但我想在其他方面如何使用Authlogic插件实现它.
class ItemsController < ApplicationController
before_filter :authenticate , :only => [:index, :create]
...
end
Run Code Online (Sandbox Code Playgroud) 我使用声明授权和Authlogic,现在想要为管理创建一个仪表板.关于ActiveScaffold将概述不同的控制器.
但是,我有一个问题,我不能管理子文件夹app/controllers/admin/admin_controller的"管理员权限".我怎样才能做到这一点?
目前我的Authorization_rules.rb看起来像这样:
authorization do
role :admin do
includes :guest
has_permission_on :admin, :to => [:index]
end
end
Run Code Online (Sandbox Code Playgroud)
但这不起作用!有人能帮我吗?谢谢
administration ruby-on-rails authlogic declarative-authorization
尽管遵循了文档,我仍然得到以下错误.
在test_helper.rb中
ENV["RAILS_ENV"] = "test"
require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
require "authlogic/test_case"
require 'test_help'
require 'shoulda'
require File.dirname(__FILE__) + "/factories"
Run Code Online (Sandbox Code Playgroud)
在我的功能测试中需要'test_helper'
class SentencesControllerTest < ActionController::TestCase
setup do
:activate_authlogic
end
context "logged in" do
setup do
@user = Factory(:user)
UserSession.create(@user.id)
end
context "on GET to :new" do
setup do
get :new
end
should "present form with text field" do
assert_select('form#new_sentence') do
assert_select('textarea#sentence_text')
end
end
end
end #context logged in.
end
Run Code Online (Sandbox Code Playgroud)
在environments.rb中
config.gem "authlogic"
Run Code Online (Sandbox Code Playgroud)
我不知道为什么它不起作用.任何人都可以帮忙吗?
Authlogic::Session::Activation::NotActivatedError: You must activate the Authlogic::Session::Base.controller with a …Run Code Online (Sandbox Code Playgroud) 我一直试图这样做几天,但我无法弄明白.我的控制器中有以下代码:
@some_object = @current_user.some_method
Run Code Online (Sandbox Code Playgroud)
在我的规范中,我想在该方法上附加一个should_receive钩子,但我不能使它工作.我已经尝试了所有这些,但它们都不起作用:
assigns[:current_user].should_receive(:some_method).at_least(:once) # expected 1, got 0
User.should_receive(:some_method).at_least(:once) # expected 1, got 0
Run Code Online (Sandbox Code Playgroud)
如何正确测试这个?我在我的规范中运行它,登录正在运行:
setup :activate_authlogic
...
UserSession.create(users(:rune))
Run Code Online (Sandbox Code Playgroud)
谢谢!
我有一些代码我有一个:通知,它只是有选择地出现.
这是代码
respond_to do |format|
if @userhj.save
format.html { redirect_to(:action => :index, :notice => 'Succesfully assigned job') }
format.xml { render :xml => @userhj, :status => :created, :location => @userhj }
else
format.html { redirect_to(:root, :notice => 'Duplicate job assignment') }
format.xml { render :xml => @user.errors, :status => :unprocessable_entity }
end
end
Run Code Online (Sandbox Code Playgroud)
从:index视图重定向到:index时,通知不会正确显示.看看Firebug的网络控制台,有一个GET(在这里插入网址)?notice =(通知文本),当通知正确显示时,它不会出现在其他页面中.
我正在使用authlogic,只是基本的,使用本教程设置http://www.logansbailey.com/2010/10/06/how-to-setup-authlogic-in-rails-3/.我很感激任何帮助.谢谢.
这是我用@javascript和authlogic运行黄瓜测试时得到的错误:
You must activate the Authlogic::Session::Base.controller with a controller object before creating objects
Run Code Online (Sandbox Code Playgroud)
这是我在feature/support/authlogic.rb中的authlogic支持代码:
require "authlogic"
require "authlogic/test_case"
World(Authlogic::TestCase)
ApplicationController.skip_before_filter :activate_authlogic
Before do
activate_authlogic
end
Run Code Online (Sandbox Code Playgroud)
这就是我创建会话的方式:
def create_session
Session.create(:name => "test", :password => "test-33")
end
Run Code Online (Sandbox Code Playgroud)
没有@javascript,它不会给我关于authlogic没有被激活的错误,但是使用@javascript它会.我该如何解决这个问题?