2010-02-23 21 views
18

Bu yüzden, Wicket 1.4 çerçevesini kullanan web tabanlı bir uygulamam var ve Spring beans, Java Persistence API (JPA) ve OpenSessionInView desenini kullanıyor. Bildiri niteliğinde bir güvenlik modeli bulmayı umuyorum, ancak XML yapılandırmasının gobs'lerini gerektirmez - ek açıklamaları tercih ederim. tam görünüyor, ama Wicket hala çağırır I bulmak her rehber bana öyle olmalı düşündürüyor Acegi Güvenlik, bunu birleştirir -Web adresimi Wicket, Spring ve JPA kullanarak nasıl yazmalıyım?

  1. Bahar Güvenliği (guide): Burada

    şimdiye kadar seçeneklerdir eski.

  2. Wicket-Auth-Roller (guide 1 ve guide 2) - Çoğu kılavuzları Bahar Security ile bu karıştırma tavsiye ve ben @Authorize bildirimsel stilini ("ROLE1", "ROLE2", vs) seviyorum. Ben zaten org.apache.wicket.protocol.http.WebApplication uzanıyorum ve Spring zaten org.apache.wicket.spring.SpringWebApplicationFactory arkasında proxying beri, AuthenticatedWebApplication genişletmek zorunda endişe duyuyorum.

  3. SWARM/WASP (guide) - Bu en yenilerden (ana katkıyı yıllar önce vefat etmiş olsa da) görünüyor, ancak ilkeler için izinler bildiren JAAS stilindeki tüm metin dosyalarından nefret ediyorum. Ayrıca, bir kullanıcının yapmak isteyebileceği her şey için bir Aksiyon sınıfı oluşturma fikrinden hoşlanmıyorum. Güvenli modeller de bana açıkça belli değil. Ayrıca, Authn örneği yok.

Ayrıca, birçok kişinin birinci ve ikinci seçeneklerin karıştırılmasını öneriyor gibi görünüyor. Yine de en iyi uygulamanın ne olduğunu anlatamam.

cevap

8

bu blog post yüzden referans olarak buraya ekliyorum görüp görmediğini bilmiyorum ve ben sonunu alıntı sadece edeceğiz:

Güncelleme 2009/03/12: ilgilenenler Wicket uygulamalarının güvence altına alınması da 'un Wicket-Security'ye bir alternatif olduğunu ve wicket-auth-roles olarak adlandırıldığını bilmelidir. This thread , iki çerçevenin durumu hakkında iyi bir genel bakış sağlayacaktır. Yay Güvenliği ile küçük kapı bağlantılarını bütünleştirme here kapsamındadır.
wicket-auth-role'lerinin tek bir özelliği, Java ek açıklamaları ile yetkilendirme yapılandırma yeteneğidir. Bir şekilde daha fazla merkezi bir yapılandırma dosyasından daha zarif buluyorum. Bir örneği here vardır. Yukarıdaki bilgileri ve sağlanan birinde dayanarak

ve ben de ek açıklamaları tercih çünkü ben Bahar Security ile Wicket-Auth-Roller (yani guide 2) için gitmek istiyorum. Bu sınıfın WebApplication uzatması nedeniyle AuthenticatedWebApplication genişletilmesi sorun olmamalıdır. Ve uygulama nesnesini, SpringWebApplicationFactory kullanarak yay kapsamı dışına çekmek de işe yaramalıdır.

Ve endişeleri gerçekten büyük olup olmadığını, bu IMO bir test :)

+0

Ayrıca eklemeliyim - wicket-auth-roles, rol tabanlı olmanın ötesindeki izinleri işlemiyor gibi görünmüyor. Bir nesne koleksiyonum olsaydı, bir kullanıcı, örneğin her nesne için bir rol alamazdı. Sonra yine SWARM bununla da ilgilenmiyor. Daha karmaşık kullanıcı + nesne izin kombinasyonlarım olabileceğinden, bu çözümlerden hangisinin daha iyi olduğunu düşünüyorsunuz? – Martin

+0

@Martin Bu çözümlerden herhangi birinin bunu halledebileceğinden emin değilim (oldukça karmaşık görünüyor) ama bu benim bilgimin ötesine geçebilir. –

+0

Bağlantılar öldü – thg

2

Biz yıllardır Wicket-güvenlik kullanıyorum ile teyit etmek oldukça kolay ve hızlı olacak ve biz Jaas birlikte kullanmış dosyalar ve ek açıklamalarla. Jaas dosyalarını tanımlamak oldukça güçlüktür ve onları korumak imkansızdır ...

Ek açıklamalarla, her sayfa için eylemler ve ilkeler tanımlanmalıdır. Bu zaman harcamasıdır, ancak kullanıcının rolleri ve yetkileri dinamik olarak tanımlamasına izin verir. Tüm yöneticileri WicketTester'ı kullanarak test etmek de mümkündür.

3 paketin her birinin (dis) avantajları vardır, bu bir tat meselesidir ve aynı zamanda uygulamanın boyutuna da bağlıdır.

İlgili konular