Я пытаюсь сделать аутентификацию с помощью Payara, используя Postgres 9.4. Я слежу за некоторыми учебниками, но они не работают. Я создаю базу данных, заполняю ее, не забываю хешировать пароли (используя MD-5), затем пул соединений JDBC (ping works), затем ресурсы jdbc, область, затем я создаю веб-приложение java, я помню о сети. xml, glassfish-web.xml, о странице входа и регистрации ... и после развертывания приложения и попытки входа в систему, я получаю страницу с ошибкой (тот, который я создал в приложении).Проверка подлинности JDBC GlassFish с postgres. Не удается войти в приложение
Вот именно то, что я делаю:
Я создал базу данных под названием «Безопасность»:
Я использовал сайт для шифрования своего пароля, «теста», и получил следующее значение: 098f6bcd4621d373cade4e832627b4f6. Я использовал эту ценность для заполнения моей базы данных:
Я использую сервер Payara. Я создаю новый пул соединений JDBC, как на картинке. Я получаю информацию «Ping Succeeded», поэтому я предполагаю, что это часть в порядке.
Я создаю ресурс JDBC с именем JNDI: jdbc/simplesec и именем пула: secuPool.
Я создаю новое царство под названием «secuRealm» - рисунки ниже. Я полагаю, что-то может быть не так? realm part 1 realm part 2 Далее я пишу часть приложения. (Я выбираю веб-приложение, java). GlassFish-web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app error-url="">
<security-role-mapping>
<role-name>admin</role-name>
<group-name>admin</group-name>
</security-role-mapping>
<security-role-mapping>
<role-name>guest</role-name>
<group-name>guest</group-name>
</security-role-mapping>
<class-loader delegate="true"/>
<jsp-config>
<property name="keepgenerated" value="true">
<description>Keep a copy of the generated servlet class' java code.</description>
</property>
</jsp-config>
</glassfish-web-app>
web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>secuRealm</realm-name>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/error.jsp</form-error-page>
</form-login-config>
</login-config>
</web-app>
login.jsp:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Login</h1>
<form action="j_security_check" method="POST">
Username:<input type="text" name="j_username"/><br/>
Password:<input type="password" name="j_password" /><br />
<input type="submit" value="Login" />
<br/>
</form>
</body>
</html>
error.jsp:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Incorrect Credentials</h1>
Try again. <br/>
<a href="login.jsp">Login</a>
</body>
</html>
index.jsp :
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Hello World!</h1><br />
<a href="login.jsp">Login</a>
</body>
</html>
После развертывания приложения я пытаюсь войти. Имя пользователя: 1, пароль: test. Я получаю сообщение error.jsp в ответ. Я не понимаю, почему, используя правильные данные пользователя, я не могу войти в систему. Где я совершил ошибку и как это сделать?