Подтвердить что ты не робот

Веб-приложение - аутентификация/входная система

Это очень простой, возможно, самый заданный вопрос и часто разработанный как часть любого веб-приложения. Предположим, что я планирую создать веб-приложение, и некоторые функциональные требования включают (помимо обычных жестких требований безопасности) - Необходимо, чтобы пользователи подписались на новый профиль учетной записи - Аутентифицировать пользователя, используя аутентификацию подлинника для собственного приложения /Facebook или Google или Yahoo или OpenId - Позволить потерять пароль - Потребности обработки сеанса

Есть ли вне коробки рамки (Drupal, Liferay, Tapestry with Tynamo, Wicket?), которые я могу использовать для упаковки моего приложения, которое может быть связкой JSP или HTML с JS? Я знаю, что задаю очень простой и, возможно, наивный вопрос. Но это тема, на которую каждый гуру веб-разработчиков пойдет через. Любая помощь, советы и указатели очень ценятся.

4b9b3361

Ответ 1

Я бы рекомендовал взглянуть на Apache Shiro: http://shiro.apache.org/

Он обрабатывает часть безопасности вашего приложения и дает вам большую гибкость в том, как защищать вещи. Например, вы можете добавить аннотацию для защиты отдельных методов (например: вы не можете запустить этот метод, если только вы не являетесь администратором), отдельные страницы (например: вы не можете загрузить эту страницу, если вы не являетесь администратором), и шаблоны URL (вы должны быть администратором для доступа к чему-либо, содержащему /admin/ * в URL-адресе).

Дайте, насколько сложно это сделать для обеспечения безопасности, Сиро очень прост в использовании. Это может занять немного времени, чтобы сначала задуматься над некоторыми из концепций, но Сиро очень хорошо скрывает как можно большую сложность. Также список пользователей очень отзывчив и очень полезен.

Если вы используете Tapestry, вы можете посмотреть http://tynamo.org/tapestry-security+guide. Очень легко заставить Широ работать и работать в приложении для гобеленов и дает вам используйте теги для использования в ваших шаблонах.

Сиро не собирается давать вам OpenID, OAuth или Facebook интеграцию из коробки, но шансы высоки, вам нужно будет настроить эту часть для своего приложения. Я считаю, что есть некоторая работа, которая поможет интегрировать функции, которые помогут включить эти типы аутентификации в инфраструктуру.

Некоторые из фреймворков, которые строятся на Сиро, могут предложить больше того, что вы ищете. Например, http://tynamo.org/tynamo-federatedaccounts+guide даст вам больше поддержки для федеративных подключений в приложении гобелена. Он все еще находится на ранней стадии, но может работать, глядя, если вы используете Гобелен. Даже если это не делает то, что вам нужно, это может привести к хорошим примерам.

Вам также может быть интересно: http://static.springsource.org/spring-security/site/

В качестве дополнительной заметки: помимо безопасности есть, вероятно, множество других технологий, которые вам понадобятся в типичном веб-проекте. Вам может потребоваться безопасность, постоянство, базовое управление пользователями и т.д. Если вы создадите много веб-приложений, возможно, стоит создать архетип maven, который позволит вам быстро получить новое базовое приложение и запустить его, чтобы вы могли начать кодирование со всей исходной структурой уже на месте. AppFuse пытается это сделать, но он больше нацелен на то, чтобы позволить вам много разных вариантов, когда дело доходит до веб-фреймворков. Если вы знаете, какую технологию вы собираетесь использовать, наличие загрузочного приложения, настроенного для ваших нужд, может быть огромным временем ожидания.

Ответ 2

Я бы посмотрел на Apache Shiro или Spring Безопасность.