Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к экзамену по ПИИ.docx
Скачиваний:
107
Добавлен:
26.03.2015
Размер:
207.29 Кб
Скачать
  1. Технология jdbc. СоставJdbc. Структура jdbcприложения. Типы jdbc-драйверов.

Java Database Connectivity (JDBC)– это технология, применяемая для доступа приложений на языке Java к реляционным базам данных. Пользуясь интерфейсом JDBC java-приложения, могут выполнить SQL-запрос к СУБД, а также получить и обработать результат этого запроса. В самом первом приближении JDBC – это реализация интерфейса Microsoft ODBC, но для платформы Java.

Интерфейс JDBC реализован в виде двух пакетов java.sqlиjavax.sql.

Основная задача, решаемая JDBC – это организация интерфейса между компонентой web-приложения и сервером реляционной базы данных. Условно этот интерфейс можно разбить на две части: JDBC API и JDBC-драйвер.

JDBC API– это набор java-классов и интерфейсов, входящих в состав пакетовjava.sqlиjavax.sql, которыми оперирует разработчик приложения. Этот набор классов является стандартным и не зависит от типа sql-базы данных, с которой осуществляет взаимодействие приложение. Все приложения, использующие JDBC одинаковым способом выполняют sql-операции. JDBC API входит в состав спецификации Java Platform Standard Edition.

JDBC-драйвер – это программное средство, взаимодействующее с JDBC API стандартным образом и учитывающее специфику конкретной sql-базы данных. JDBCдрайвер входит в состав программного обеспечения сервера базы данных и как правило, разрабатывается, компаниями-производителями СУБД. Спецификация JDBC предусматривает четыре типа драйверов.

Первый тип jdbc-драйверов является мостом между JDBC API и драйвером ODBC. Второй тип драйверов только частично реализован на языке Java и является зависимым от платформы.

Третий тип драйверов полностью реализован на языке Java, но взаимодействует с сервером через клиентскую часть СУБД.

Четвертый тип драйверов тоже полностью реализован на языке Java и не требует никого посредника для связи с сервером базы данных (тонкий клиент). Обычно jdbc-драйвер представляет собой jar-файл.

Драйвер может работать в 2 режимах: толстый и тонкий клиент.

Толстый клиент требует установки клиентской части СУБД на клиентской машине. Через строку подключения, указываем имя и пароль.

Тонкий клиент требует знания всех параметров подключения: хост, порт, имя сервиса, имя БД, пользователь, пароль и т.д.

В JDBC входят несколько классов, с помощью которых можно передать строку SQL запроса, и получить ответ в виде объект класса Result. Можно вызывать процедуры и функции, который исполняются на стороне СУБД и принимать ответы.

  1. Технология jaas. Назначение. Основные возможности. Роли, пользователи и их взаимосвязь.

JAAS (Java Authentication and Authorization Service) – Java-сервис по аутентификации и авторизации.

Для хранения информации о ролях пользователей, об именах пользователей и их паролях в сервере Apache Tomcat используется специальный xml-файл: tomcat-users.xml

Каждый пользователь характеризуется: именем, паролем и списком ролей, приписываемых ему.

Защищенный ресурс (html –страница, jsp-страница, сервлет) привязывается к ролям. Все пользователи, содержащие в своем списке роль, обеспечивающую доступ (привязанную роль) к некоторому ресурсу, имеют возможность доступа к данному ресурсу.

Технология JAAS предполагает две формы аутентификации пользователей: BASICиFORM.

BASIC-аутентификация подразумевает использование стандартной формы ввода данных для аутентификации (имени и пароля).

FORM-аутентификация подразумевает использование собственной формы (разработанной пользователем, но по определенным правилам jsp-страницы) для аутентификации.

Применение JAAS-технологии сводится к xml-описанию необходимой информации в дескрипторе приложения web.xml и к разработке форм для ввода имени и пароля пользователя и сообщения об ошибке (для FORM-аутентификации).

<security-constraint>

<web-resource-collection>

<web-resource-name>go</web-resource-name>

<url-pattern>/index.jsp</url-pattern>

<http-method>GET</http-method>

<http-method>POST</http-method>

</web-resource-collection>

<auth-constraint>

<role-name>RoleFAS</role-name>

</auth-constraint>

</security-constraint>

//form

<login-config>

<auth-method>FORM</auth-method>

<form-login-config>

<form-login-page>/login.jsp</form-login-page>

<form-error-page>/errlogin.jsp</form-error-page>

</form-login-config>

</login-config>

<security-role>

<role-name>RoleFAS</role-name>

</security-role>

//basic

<login-config>

<auth-method>BASIC</auth-method>

</login-config>

<security-role>

<role-name>RoleFAS</role-name>

</security-role>