5

Victor Martin ile neredeyse aynı sorunları yaşıyorum (burada sorulan soruları görebilirsiniz).Beyanname yetkilendirmesi ve if_attribute çalışmıyor

Şartlı koşulların kullanılmasını gerektirmeyen hemen hemen her şey için çalışan bildirim yetkisi var. Örneğin. Bildirime Yetkilendirme ile herhangi bir ortak tuzaklar

has_permission_on :users, :to => [:edit, :update, :destroy] do 
if_attribute :user => is { current_user } 
end 

var mı? Authlogic kullanıyorum ve uygulama denetleyicisindeki 'current_user' yönteminin şüpheliyim, sorunun kaynağı olabilir.

before_filter :set_current_user 
protected 
def set_current_user 
    Authorization.current_user = current_user 
end 

Sonra kuralları şu şekilde görünecektir:

has_permission_on :users, :to => [:edit, :update, :destroy] do 
    if_attribute :user => is { user } 
end 

Bildiğim kadarıyla declarative_authorization değil bildiği gibi Henüz varsa

+0

hakkında

fazla detay - Çok o – digitalWestie

cevap

4

Denetleyicilerinizde "filter_access_to" kullanıyorsanız, ": attribute_check => true" olduğundan emin olmanız gerektiğini unutmayın. Bu olmadan, koşullu "if_attribute" bildirimleri hiçbir şey yapmaz. Ben authorizaiton için CanCaN kullanılarak bitti bu in the Declarative Authorization docs

1

Sen ApplicationController için bu eklemeniz gerekir Üste | Geri Bildirim Ver Daha fazla bilgi Daha fazla bilgi Daha fazla bilgi Daha fazla bilgi Daha fazla bilgi Daha fazla bilgi için, bir , herhangi bir yöntemini çağıran ve current_user ne anlama geldiğini bilmiyor, ancak sizin adlı adlı bir örneğidir, authorization_rules.rb dosyanızda kullanabilirsiniz.

+0

Tamam, bunun yerine 'örnein' arasında 'kullanıcı' kullanarak çalıştı öneriyoruz. Şimdi yaptım ki hemen hemen hepsine sahibim ama hala çalışmıyor. :/ – digitalWestie

+0

Hata mı alıyorsunuz yoksa sadece "izin reddedildi" mi? Günlüğün ne diyor? –

İlgili konular