저는 필자가 작문하는 시간표 응용 프로그램에서 역할 기반 액세스 제한을 구현하기 위해 선언적 권한을 사용하고 있습니다.역할을 확인하는 방법
필자의 의견 중 하나는 특히 로그인 한 사용자에게 관리 역할이 할당되어있는 경우 자세한 time_register에 대한 index.html.erb가 더 많은 정보를 표시해야한다는 것입니다. 태초에
난 그냥 그 사용자가 확인되었다 == 1 ID == 1
<% if @current_user.id == 1 %>
과 하나가 될 것입니다하지만 지금은 ID를 가진 사용자에게 제한하지 수 있도록하고 싶습니다 관리 역할이 할당 된 모든 사용자가 index.html.erb 파일에서 조금 더 볼 수 있도록 허용합니다.
모델이
내 권한 파일은 다음과 같습니다class User < ActiveRecord::Base
has_many :assignments
class Role < ActiveRecord::Base
has_many :assignments
has_many :users, :through => :assignment
class Assignment < ActiveRecord::Base
belongs_to :user
belongs_to :role
declarative_authorization로 설정하는 방법을 비트 : 음
authorization do
role :usuarios do
has_permission_on :users, :to => [:index, :show, :new, :create, :edit, :update]
end
role :reghoras do
has_permission_on :time_registers, :to => [:index, :show, :new, :create, :edit, :update]
has_permission_on :users do
to :show
if_attribute :id => is {user.id}
end
end
role :contactos do
has_permission_on :contacts, :to => [:index, :show, :new, :create, :edit, :update]
has_permission_on :users do
to :show
if_attribute :id => is {user.id}
end
end
role :admin do
has_permission_on :authorization_rules, :to => :read
has_permission_on [:time_registers, :contacts, :users, :roles], :to => [:index, :show, :new, :create, :edit, :update, :destroy]
end
role :guest do
has_permission_on [:time_registers, :contacts], :to => [:index, :show]
end
end
, 나는 다른 사람이 질문에 대답하는 데 필요한 것이 무엇인지 확실하지 않다 , 더 많은 정보를 요청하십시오.