2016-03-24 4 views
1

Я новичок в разработке Java EE, но я хорошо себя чувствую, Я немного смущен защитной частью моего приложения.Является ли защита JAAS на сервере веб-приложений на основе Java EE зависимой?

Я прочитал несколько статей о том, как я могу реализовать защиту JAAS в своем веб-приложении Java EE. Это то, что я прочитал & понял, все, что он другие были неясны: http://uaihebert.com/user-login-validation-with-jaas-and-jsf/

Пример велик, и все, но он настраивает сервер JBoss, Im не используя JBoss, и я не намерен. Если я должен использовать JAAS, мне нужно настроить локальный веб-сервер, на котором я запускаю (разрабатываю)? Возможно, есть некоторые вещи, которые я действительно не понимаю о JAAS? И если бы я должен был следовать этому примеру и использовать JBoss и настроить его так, как он. когда я развертываю свое веб-приложение в качестве военного файла, и я загрузил файл войны, чтобы сказать на сервере tomcat, будет ли он еще защищен?

Любая помощь/руководство будет чрезвычайно оценено! Спасибо!

+0

как jaas должен быть настроен, действительно зависит от сервера и никак не связан с jsf. Вот почему (по крайней мере, то, что я думаю) не снял – Kukeltje

+0

@Kukeltje Спасибо за ваш ответ :) Я вижу, поэтому, если я разработаю свое приложение, скажем, jboss, тогда разверните войну, которую он не будет защищать на каком-либо другом сервере? это то, что я понял из вашего «зависимого от сервера», правильно? Еще раз спасибо –

+1

Связанный: http://stackoverflow.com/q/35994641 – BalusC

ответ

2

Безопасность JAAS не существует в Java EE. JAAS - это платформа Java SE для защиты ресурсов на уровне класса. Вы используете это для ограничения того, какой код, который вы загрузили (например, апплеты), может сделать на вашем компьютере.

С Java EE ситуация отменена. Вы не загружаете неизвестный код для одного пользователя (вы на своем компьютере), но неизвестные пользователи входят в ваш код (который вы запускаете на сервере).

Некоторая путаница происходит из-за того, что несколько серверов используют термин JAAS для специфической для сервера реализации того, что в последнее время называют «хранилищами идентичности» (вещи, которые хранят пользователей и роли, такие как ldap).

Но:

  • только неловкое малая часть JAAS используется (некоторые виды, такие как LoginModule)
  • Серверы, которые утверждают, что использовать JAAS все это сделать в такой-другому, что вы только удивляться, почему они беспокоили с ним начинать с
  • Далеко не каждый сервер использует JAAS. Tomcat, Jetty, Resin, Liberty и WebSphere вообще не используют его.
+0

Признается неудачным, что 'javax.security.auth.login' имеет тенденцию быть тем, что впервые появилось, когда аутентификация в Java EE обсуждается. Но JAAS не совсем чуждо Java EE; как обычно, есть, как вы сказали, авторизация на основе CodeSource (JAAS добавила авторизацию на основе принципала в смесь). Спецификация зонтика фактически включала несколько ссылок на JAAS с по меньшей мере 1,4, в то время как спецификация Connector сосредотачивает на нем весь раздел. В целом, JAAS все еще можно рассматривать как часть Java EE, хотя и не тот, на который разработчики приложений могут напрямую рассчитывать. – Uux

+0

Большое спасибо теперь я понимаю лучше :) –

+1

@Uux В спецификации зонтика есть глава по безопасности, которая использует понятия и терминологию, которые вы не встречаете в других местах. Это почти так, как если бы писатель предполагал JSR 375 лет назад, но он так и не материализовался. Спецификация Connector имеет действительно интересные разделы. Некоторые аспекты JAAS появляются в EE, но не так, как люди думают, и многие вещи, которые люди называют JAAS (например, ограничения в web.xml), вовсе не JAAS. –

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