Не удается войти в систему с помощью управления идентификационными данными Seam - PullRequest
1 голос
/ 04 августа 2011

Я пытаюсь создать логин в Seam 2 с помощью управления идентификационными данными Seam. Я использую MySQL 5.1 для RDB. Я уже создал страницу входа и изменил components.xml для аутентификации. Но здесь есть проблема. Когда я нажимаю кнопку входа в систему из пользовательского интерфейса, он выдает ошибку входа в систему. Но я могу наблюдать из журналов, что он запрашивает БД, как показано ниже.

10:27:40,670 INFO  [STDOUT] Hibernate: 
10:27:40,670 INFO  [STDOUT]     select
10:27:40,671 INFO  [STDOUT]         user0_.id as id10_,
10:27:40,671 INFO  [STDOUT]         user0_.email as email10_,
10:27:40,671 INFO  [STDOUT]         user0_.password as password10_,
10:27:40,671 INFO  [STDOUT]         user0_.userName as userName10_,
10:27:40,671 INFO  [STDOUT]         user0_.version as version10_ 
10:27:40,671 INFO  [STDOUT]     from
10:27:40,671 INFO  [STDOUT]         User user0_ 
10:27:40,671 INFO  [STDOUT]     where
10:27:40,672 INFO  [STDOUT]         user0_.userName=? limit ?

Но либо не может совпадать userName&password, либо что-то еще, вход не будет успешным. Вот моя login.xhtml страница

<h:form id="loginForm">

            <rich:panel>
                <f:facet name="header">Login</f:facet>

                <p>Please login here</p>

                <div class="dialog">
                    <h:panelGrid columns="2" rowClasses="prop"
                        columnClasses="name,value">
                        <h:outputLabel for="username">Username</h:outputLabel>
                        <h:inputText id="username" value="#{credentials.username}" />
                        <h:outputLabel for="password">Password</h:outputLabel>
                        <h:inputSecret id="password" value="#{credentials.password}" />
                        <h:outputLabel for="rememberMe">Remember me</h:outputLabel>
                        <h:selectBooleanCheckbox id="rememberMe"
                            value="#{rememberMe.enabled}" />
                    </h:panelGrid>
                </div>

            </rich:panel>

            <div class="actionButtons">
                <h:commandButton id="submitBtn" value="Login"
                    action="#{identity.login()}" />
            </div>

        </h:form>

и вот моя соответствующая часть component.xml

<!-- USER AND ROLE -->
<security:jpa-identity-store role-class="com.galaksiya.kobar.entity.Role"
    user-class="com.galaksiya.kobar.entity.User" />
<!-- IDENTITY STORE AND ROLE STORE -->
<security:identity-manager identity-store="#{jpaIdentityStore}"
    role-identity-store="#{jpaIdentityStore}" />

Я аннотировал Role и User классы, как описано здесь . Но я не знаю, почему мой логин терпит неудачу.

Любая помощь будет оценена. Благодаря.

...