2016-04-13 9 views
0

Sanırım hayır. İşte aklımdaki durum:VIEWS içinde/sonra makul bir güvenlik uygulaması kullanıyor mu?

form action='/12345/destroy', method='POST' 
    - if @current_user.kind_of? Admin 
    button 
    - else 
    span You cant do that 

Böyle bir sayfa oluşturmanın en iyi yolu nedir? "Sorumlu" olanlar için bir kontrolör oluşturun ve buradaki düğmeleri var mı? Yönetici bazı kullanıcıları silme düğmesini kullanmasına izin vermeyi seçmezse, hangisine dönelim? Teşekkürler

cevap

0

Örneğiniz gayet iyi IMHO'dur, ancak gerçekten gereksinimlerinize bağlıdır. Bir gün daha fazla kullanıcı ihtiyacının olacağını düşünürseniz ve görüşlerin dağınık olabileceğinden korkuyorsanız, bir ACL kütüphanesine bakmanızı tavsiye ederim. Alternatif olarak, kendi yetkilendirme katmanı her zaman yuvarlayabilirsiniz.

0

Görüşünüz iyi, ancak açıkçası, hiçbir şekilde güvenli değildir. "Denetleyiciniz" indeki ayrıcalıkları (varsa) ya da bu isteğin alıcı tarafından alındığını kontrol etmelisiniz. Ayrıca bu mantık muhtemelen birden fazla yerde kullanılacaktır. Bunu bir yardımcı yönteme ayırmayı düşünebilirsiniz.

form action='/12345/destroy', method='POST' 
    = render_destroy_action_for @current_user 

Bu mantığı bir yöntemde gizledikten sonra, daha sonra değiştirmek daha kolay olacaktır.

İlgili konular