Я создал jdbcRealm в Glassfish 3.1.1:
<auth-realm name="db-realm" classname="com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm">
<property name="user-name-column" value="username"></property>
<property name="password-column" value="userpassword"></property>
<property name="group-name-column" value="groupname"></property>
<property description="null" name="group-table" value="group"></property>
<property name="user-table" value="user"></property>
<property name="datasource-jndi" value="jdbc/netponto"></property>
<property name="jaas-context" value="jdbcRealm"></property>
<property description="null" name="digest-algorithm" value="SHA-256"></property>
</auth-realm>
Пул соединений работает хорошо.Моя конфигурация базы данных (postgres) в порядке.
Мой web.xml:
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>db-realm</realm-name>
</login-config>
Мой sun-web.xml:
<security-role-mapping>
<role-name>admin</role-name>
<group-name>admin</group-name>
</security-role-mapping>
Когда я пытаюсь запроситьлюбой защищенный и введите имя пользователя и пароль, исключение Glassfish выдает:
WEB9102: Web Login Failed: com.sun.enterprise.security.auth.login.common.LoginException: Login failed: Security Exception
Пользователь в базе данных:
имя пользователя: тестовый пароль пользователя: SHA-256 хэш (тестовая) группа: admin
Это проблема Glassfish 3.1.1?
Кто-то использует jdbcRealm со Glassfish 3.1.1, и он работает?
Мое окружение: SO: Ubuntu 11.04 DB: Postgres 9 Java: 1.7.0 Glassfish: 3.1.1 (b12)