2011-01-16 22 views
25

Jest to bardzo proste, prawdopodobnie najczęściej zadawane pytanie i często tworzone w ramach dowolnej aplikacji internetowej. Załóżmy, że planuję zbudować aplikację internetową, a niektóre wymagania funkcjonalne obejmują (poza zwykłymi ostroŜnymi odwołaniami), - Konieczność zlecenia rejestracji użytkownikom nowego profilu kont. - Uwierzytelnianie użytkownika za pomocą natywnego uwierzytelniania aplikacji/Facebook lub Google lub Yahoo lub logowanie z OpenID - Pozwól zagubiony odzyskiwania hasła - obsługa sesji potrzebujeAplikacja internetowa - platforma uwierzytelniania/logowania

Czy istnieje poza ramami skrzynkowych (Drupal, Liferay, gobeliny z Tynamo, Furtka ??), które można używać do zawiń moją aplikację, która może być wiązką stron JSP lub HTML z JS? Wiem, że zadaję bardzo proste i może naiwne pytanie. Ale jest to temat, który przejdzie przez każdego guru programisty internetowego. Każda pomoc, porady i wskazówki są bardzo cenne.

Odpowiedz

27

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.

0

Chciałbym spojrzeć na Apache Shiro lub Spring Security.

Powiązane problemy