0
我有一個使用Devise,Rolify和Cancan的應用程序。Cancan的用戶配置文件授權
現在它是唯一一個區分管理員和用戶以防止訪問用戶索引和網站管理員部分的設置。
我的問題是,沒有用戶可以訪問其他用戶配置文件,這不應該是這種情況。例如,如果我登錄....用戶/ 2我可以只更改我的網址,並看到用戶/ 1。我如何阻止這個?
Ability.rb
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new # guest user (not logged in)
if user.has_role? :admin
can :manage, :all
can :access, :rails_admin
can :dashboard
else
can :manage, Profile, :user_id => user.id
end
end
end
Application_controller
class ApplicationController < ActionController::Base
protect_from_forgery
rescue_from CanCan::AccessDenied do |exception|
redirect_to root_path, :alert => exception.message
end
role.rb
class Role < ActiveRecord::Base
has_and_belongs_to_many :users, :join_table => :users_roles
belongs_to :resource, :polymorphic => true
end