2011-01-16 22 views
25

Bu, çok basit, muhtemelen en çok sorulan ve genellikle herhangi bir web uygulamasının parçası olarak geliştirilmiş bir sorudur. Bir web uygulaması oluşturmayı planladığımı ve bazı işlevsel gereksinimlerin (her zamanki sert isabet güvenlik reqs dışında), olduğunu - Yeni bir hesap profili için kullanıcıların kaydolması gerektiğini bildirme - Yerel uygulama kimlik doğrulamasını kullanarak kullanıcının kimliğini doğrula/Facebook veya Google veya Yahoo veya OpenID giriş - İzin kayıp şifre alma - Oturum taşıma ı için kullanabileceğiniz kutu çerçeveler (Drupal Liferay, Tynamo ile Goblen, Wicket ??) bir takım var mıWeb Uygulaması - Kimlik Doğrulama/Giriş Çerçevesi

ihtiyacı JSP'nin veya HTML'nin bir grup JS'si olan uygulamamı mı sarmalıyım? Biliyorum çok basit ve belki de saf bir soru soruyorum. Ancak bu, her web geliştiricisi gurusunun bir araya getireceği bir konudur. Herhangi bir yardım, tavsiye ve işaretçiler çok takdir edilir.

cevap

27

Apache Shiro bir göz alarak tavsiye ederim: http://shiro.apache.org/

Bu uygulamanın güvenlik bölümünü kolları ve sana bir şeyler güvenliğini nasıl esnekliğe büyük verir. Örneğin, bireysel yöntemleri güvenli hale getirmek için bir ek açıklama ekleyebilirsiniz (örneğin, yönetici değilseniz bu yöntemi çalıştıramazsınız), tek tek sayfalar (örneğin, bir yönetici değilseniz bu sayfayı yükleyemezsiniz), ve URL kalıpları (URL'de/admin/* içeren her şeye erişmek için yönetici olmanız gerekir).

Güvenlik hakkına ne kadar karmaşık olabileceğini verin, Shiro'nun kullanımı oldukça kolaydır. Başlangıçta bazı kavramların etrafında kafanızı almak biraz zaman alabilir, ancak Shiro mümkün olduğunca karmaşıklığı saklamak için çok iyi bir iş çıkarır. Ayrıca kullanıcı listesi çok duyarlı ve son derece faydalıdır.

Goblen'i kullanırsanız, http://tynamo.org/tapestry-security+guide'a bakabilirsiniz. Shiro'yu bir Tapestry uygulamasında çalıştırmayı ve çalıştırmayı çok kolay hale getirir ve şablonlarınızda kullanmanız için etiketleri kullanmanız kolaylaşır.

Shiro, OpenID, OAuth veya Facebook entegrasyonunu kutudan çıkarmayacaktır, ancak şansınız yüksekse, bu bölümü uygulamanıza uyarlamanız gerekecektir. Bu tür kimlik doğrulamanın çerçeveye girmesine yardımcı olacak işlevlerin bütünleştirilmesine yardımcı olmak için bazı çalışmalar yapıldığına inanıyorum.

Shiro üzerinde oluşturulan bazı çerçeveler, aradıklarınızdan daha fazlasını sunabilir. Örneğin, http://tynamo.org/tynamo-federatedaccounts+guide, bir goblen uygulamasında federe girişler için daha fazla destek verecektir. Halen erken aşamalardadır, ancak Goblen'i kullanıp kullanmadığınızı inceliyor olabilir. Tam olarak ihtiyacınız olanı yapmasa bile, bakmak için iyi örnekler verebilir. Bir yan not olarak http://static.springsource.org/spring-security/site/

:

Ayrıca ilginizi çekebilir güvenliğe ek olarak, tipik bir web projesinde gerekecek diğer teknolojilerin bir demet muhtemelen vardır. Güvenlik, kalıcılık, temel kullanıcı yönetimi vb. Gerekebilir. Çok sayıda web uygulaması oluşturursanız, yeni bir temel uygulamayı hızlı bir şekilde uygulamanıza ve çalıştırmanıza olanak tanıyan bir maven arketip oluşturmaya değer olabilir. Böylece tüm başlangıç ​​yapısıyla kodlamaya başlayabilirsiniz. Zaten yerinde. AppFuse bunu yapmaya çalışır, ancak web çerçeveleri söz konusu olduğunda size birçok farklı seçenek sunmayı amaçlamaktadır. Hangi teknolojiyi kullanacağınızı biliyorsanız, ihtiyaçlarınız için özelleştirilmiş bir başlangıç ​​uygulamasının olması büyük bir zaman kazandırıcı olabilir.

0

Apache Shiro'ya veya Spring Security'ye bakabilirim.

İlgili konular