2011-10-19 4 views
4

Я совершенно новый для безопасности, управляемой контейнером, и вам нужна помощь в ее настройке в моем веб-приложении.Контейнерная управляемая безопасность для веб-приложений

Я хочу ограничить доступ к jsp в своем веб-приложении. Это, как я настроил безопасность в моей web.xml

<security-constraint> 
    <display-name>PrivilegedConstraint</display-name> 
    <web-resource-collection> 
     <web-resource-name>JSP Files</web-resource-name> 
     <description>All the jsp files in the web application</description> 
     <url-pattern>*.jsp</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <description/> 
     <role-name>PrivilegedRole</role-name> 
    </auth-constraint> 
    <user-data-constraint> 
     <description/> 
     <transport-guarantee>NONE</transport-guarantee> 
    </user-data-constraint> 
</security-constraint> 
<login-config> 
    <auth-method>BASIC</auth-method> 
    <realm-name>BasicRealm</realm-name> 
</login-config> 
<security-role> 
    <description>This is a privileged role. Has access to everything in the web app</description> 
    <role-name>PrivilegedRole</role-name> 
</security-role> 

Мои вопросы:

Какова цель царств-имя в элементе Логин-конфигурации? Где я могу настроить имя пользователя, пароль и сопоставить пользователей с ролями?

Когда я пытаюсь получить доступ к jsp в своем веб-приложении, меня спрашивают имя пользователя и пароль. Что я там даю? И как работает этот механизм безопасности?

Я совершенно новичок в области безопасности, поэтому буду признателен, если кто-то может указать мне на хорошую статью, которая объясняет основы настройки безопасности и как она работает на самом деле?

ответ

3

Вопрос: «Какова цель имени области в элементе login-config?»

От Java EE 6 tutorial:

область является областью политики безопасности определены для сервера или веб-приложения. Область содержит набор пользователей, которые могут или не могут быть назначены группе.

поведение, как это определено таким образом, в текущем Servlet 3.0 spec:

HTTP Basic Authentication, который основан на имени пользователя и пароля, это механизм аутентификации определен в HTTP/1.0 спецификации. Веб-сервер запрашивает веб-клиента для аутентификации пользователя. В качестве части запроса веб-сервер передает область (строку), в которой пользователь должен быть аутентифицирован. Веб-клиент получает имя пользователя и пароль от пользователя и передает их на веб-сервер. Затем веб-сервер аутентифицирует пользователя в указанной области.


Q: "Где я настроить имя пользователя, пароли и сопоставления пользователей с ролями?"

Это конкретный контейнер. То есть каждый поставщик сервера может свободно определять, как определяются пользователи/группы и как эта информация настраивается. Обычно существует несколько способов сделать это.

Пользователи и группы часто определяются в каталоге. Затем сервер настроен на использование этого каталога, и администратор будет отображать роли приложения во время развертывания.

Сервер тестирования разработчика Tomcat может использовать плоский файл; сервер WebSphere производства может подключаться к каталогу компании Exchange через LDAP.

Подробнее см. Документацию к серверу.


Вы могли бы сделать хуже, чем следовать Oracle Java EE 6 учебник с Netbeans и Glassfish, но знать о тех шагах, которые являются специфическими для продуктов этого поставщика.

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