A, Admin ad alanıyla bir dizi denetleyiciye sahiptir. Kullanıcı bir yönetici olmadığı sürece bunlara erişimi kısıtlamak istiyorum. Yetkisiz aramak zorunda kalmadan CanCan kullanarak bunu yapmanın bir yolu var mı? Her kontrolün her yönteminde?CanCan
Q
CanCan
8
ile Yönetici Yetkilendirmesi
A
cevap
8
Ad alanınıza bir uygulama denetleyicisi ekleyin ve bunu filtreleyin.
Rails Admin's authorization with CanCan: CanCan listeleri için
0
şimdi rails_admin onun resmi web sitesinde bulabilirsiniz, Cancan ile tam desteği vardır, bu konu için bir wiki sayfası var Bu soruna çeşitli çözümler.
- @mark tarafından önerildiği gibi, her eylem için yetkilendirmeyi denetleyen yöneticiler için bir temel denetleyiciye sahip olun.
- İhtiyacınız olan her şey, kullanıcıların bir
admin
bayrağına sahip olduğunu kontrol etmek için bunun için CanCan'ı kullanmanız gerekmeyebilir. (normal kullanıcılar yalnızca ila farklı aksine) birbirinden farklı yöneticilerini taşınması için
- İhtiyacınız olan her şey, kullanıcıların bir
- , (bu konu dışı biraz ama alakalı olabilecek) ayrı
AdminAbility
sınıf düşünün.
1
Admin Namespaces wiki sayfası
class ApplicationController < ActionController::Base
end
class Admin::ApplicationController < ApplicationController
# these goes in your namespace admin folder
before_filter :check_authorized
def check_authorized
redirect_to root_path unless can? :admin, :all
end
end
class SomeadminController < Admin::ApplicationController
def some_action
# do_stuff
end
end
Rails_admin'den bahsetti mi? –
evet haklısın, rails_admin'den bahsetmedi. Ben düşündüğüm kadar iyi olmadığından rails_admin kullanmanızı önermiyorum. –