2011-01-16 2 views
25

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

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

ответ

27

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

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

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

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

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

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

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

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

0

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

Смежные вопросы