我创建了一个Redmine插件,我想为它添加一个新的权限 我按照插件教程,但即使我以管理员身份登录并拥有完整权限,我也会收到此错误,然后尝试访问我的插件:
403"您无权访问此页面。"
我做错了什么?
这是我的代码:
init.rb
Redmine::Plugin.register :redmine_plugin do
permission :my_permission, :redmine_plugin => :controller
end
controller.rb
class MyController < ApplicationController
unloadable
before_filter :authorize
def controller
...
end
end
答案 0 :(得分:1)
我弄清楚了,我将:authorize
更改为新定义:test
。
我不知道这是好方法,但它有效。
<强> controller.rb 强>
class MyController < ApplicationController
unloadable
before_filter :test
def test
@project = Project.find(params[:project_id])
if !User.current.allowed_to?(:my_permission, @project)
render_404
end
end
def controller
...
end
end
答案 1 :(得分:0)
我有同样的问题。
似乎:authorize
仅在定义@project
字段时才能正常工作。因此,如果项目无关紧要,那就足够了:
class SomeController < ApplicationController
before_filter :find_project, :authorize
def index
# some code
end
def find_project
@project = Project.new
end
end