Оформление
Реализация аутентификации на основе базы данных
1. Обзор
Выполняет аутентификацию на основе базы данных, позволяя разным пользователям входить в систему.
В этой статье мы используем базу данных MySQL в качестве примера для работы.
2. Операционные шаги
2.1 Добавление зависимостей
Скопируйте JAR-пакеты cas-server-support-jdbc-3.5.2.jar и mysql-connector-java-5.1.6-bin.jar.
Перейдите в каталог %TOMCAT_HOME%\webapps\cas\WEB-INF\lib, как показано ниже:

Примечание: Если вы используете другую базу данных, просто поместите пакет JDBC-драйвера соответствующей базы данных в каталог.
2.2 Создание таблиц базы данных
Ниже показано имя таблицы userinfo, имя пользователя username, пароль userpass:

2.3 Настройка CAS для аутентификации на основе базы данных
2.3.1 Добавление информации о конфигурации базы данных
1) Запустите текстовый редактор от имени администратора и откройте файл %TOMCAT_HOME%\webapps\cas\WEB-INF\deployerConfigContext.xml и найдите в нем следующий код:
<bean id="authenticationManager" class="org.jasig.cas.authentication. AuthenticationManagerImpl">Вставьте информацию о конфигурации источника данных mysql JDBC перед фрагментом, как показано ниже:
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> &
nbsp; <property name="driverClassName"><value>Driver</value></property>
<property name="url"><value>url</value></property>  
;<property name="username"><value>Имя пользователя базы данных</value></property> <
property name="password"><value>Пароль базы данных</value></property> </bean>Как показано на рисунке ниже:

Примечание: Драйвер заменяется драйвером соответствующей базы данных, в случае MySQL это com.mysql.jdbc.Driver, а URL - jdbc:mysql://ip:port/databaseName, а имя пользователя и пароль базы данных заменяются реальными именем пользователя и паролем.
Если вы используете другую базу данных, обратитесь к разделу [[Конструктор] JDBC Подключение к базам данных](https://help.finereport.com/doc-view-101.md), чтобы узнать драйвер и URL.
2.3.2 Добавление информации об аутентификации пользователя
1) Запустите текстовый редактор от имени администратора и откройте файл %TOMCAT_HOME%\webapps\cas\WEB-INF\deployerConfigContext.xml и найдите в нем следующий код:
<bean class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />Примечание: Это конфигурационное сообщение использует SimpleTestUsernamePasswordAuthenticationHandler для аутентификации пользователя, т.е. по умолчанию аутентификация проходит, если имя пользователя и пароль одинаковые, и не проходит, если имя пользователя и пароль разные. Нам нужно заменить его информацией о конфигурации аутентификации на основе базы данных.
и закомментируйте его, как показано ниже:

2) Вставьте под ним следующий код:
<bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"> & nbsp; <property name="dataSource" ref="
dataSource" /> < property name="sql" value="select userpass from userinfo where username=?
" /> </beanВставьте информацию о конфигурации, как показано ниже:

| параметры | учитывать |
|---|---|
| QueryDatabaseAuthenticationHandler | это один из интерфейсов запросов, предоставляемых cas-server-support-jdbc.QueryDatabaseAuthenticationHandler настраивается с помощью SQL-запроса для поиска пароля, который соответствует заданному паролю. |
| dataSource | является источником данных при запросе с помощью JDBC. |
| SQL | оператор должен запросить какую таблицу, в данном примере в соответствии с таблицей userinfo поле username запрашивает password, CAS будет соответствовать паролю, введенному пользователем, если он совпадает, то через |
3.2.3 Сохранение изменений
Сохраните изменения, внесенные в файл %TOMCAT_HOME%\webapps\cas\WEB-INF\deployerConfigContext.xml.
3.2.4 Перезапуск
Перезапустите службу Tomcat.
3. просмотр результатов
3.1 Тестирование аутентификации на основе базы данных
1) В браузере введите URL https://roxy:8443/cas/login, если IE имеет сертификат предупреждение, непосредственно нажмите, чтобы продолжить просмотр этого сайта (не рекомендуется), CAS будет соответствовать имя пользователя и пароль, введенный пользователем, и userinfo таблице имя пользователя и пароль, как показано на следующем рисунке:
(2) CAS сопоставляет имя пользователя и пароль, введенные пользователем, с именем пользователя и паролем из таблицы userinfo, если они совпадают, то система показывает, что вход в систему прошел успешно, как показано на следующем рисунке:
