Polecam przyjrzeniu Apache Shiro: http://shiro.apache.org/
Zajmuje część zabezpieczeń aplikacji i daje dużą elastyczność w jaki sposób zabezpieczyć rzeczy. Na przykład możesz dodać adnotację, aby zabezpieczyć poszczególne metody (na przykład: nie możesz uruchomić tej metody, chyba że jesteś administratorem), poszczególne strony (na przykład: nie możesz załadować tej strony, chyba że jesteś administratorem), i wzorce adresów URL (musisz być administratorem, aby uzyskać dostęp do wszystkiego zawierającego/admin/* w adresie URL).
Podaj, jak skomplikowane może być to z prawem bezpieczeństwa, Shiro jest bardzo prosty w użyciu. Może trochę potrwać, zanim zorientujesz się w niektórych koncepcjach, ale Shiro wykonuje bardzo dobrą robotę ukrywając tyle złożoności, na ile to tylko możliwe. Również lista użytkowników jest bardzo responsywna i niezwykle pomocna.
Jeśli użyjesz Tapestry, możesz przyjrzeć się http://tynamo.org/tapestry-security+guide Dzięki temu bardzo łatwo możesz założyć i uruchomić Shiro w aplikacji Tapestry i daje ci kilka łatwych w użyciu znaczników do użycia w szablonach.
Shiro nie zapewni integracji OpenID, OAuth lub Facebook po wyjęciu z pudełka, ale istnieje duża szansa, że trzeba będzie dostosować tę część do swojej aplikacji. Uważam, że jest trochę pracy, aby pomóc zintegrować funkcje, które pomogą włączyć te rodzaje uwierzytelniania w ramach.
Niektóre z frameworków opartych na Shiro mogą zaoferować więcej tego, czego szukasz. Na przykład http://tynamo.org/tynamo-federatedaccounts+guide zapewnia więcej wsparcia dla federacyjnych loginów w aplikacji gobelinowej. Wciąż jest we wczesnym stadium, ale może pracować patrząc na to, czy używasz Tapestry. Nawet jeśli nie robi dokładnie tego, czego potrzebujesz, może to dać kilka dobrych przykładów.
też może być zainteresowany: http://static.springsource.org/spring-security/site/
Na marginesie: Oprócz bezpieczeństwa są tam pewnie kilka innych technologii, które będą potrzebne w typowym projekcie internetowym. Możesz potrzebować bezpieczeństwa, wytrwałości, podstawowego zarządzania użytkownikami itp. Jeśli tworzysz wiele aplikacji internetowych, może warto tworzyć archetyp, który pozwala szybko uzyskać nową podstawową aplikację, dzięki czemu możesz rozpocząć kodowanie z całą początkową strukturą. już na miejscu. AppFuse próbuje to zrobić, ale ma na celu umożliwienie wielu różnych wyborów, jeśli chodzi o ramy sieciowe. Jeśli wiesz, jakiej technologii użyjesz, posiadanie aplikacji startowej dostosowanej do Twoich potrzeb może być ogromnym zaoszczędzeniem czasu.