Firefox 3 remember me
hicham Sep 10, 2008 2:25 AMI am implementing a simple application that diplay registred users using seam 2.0.2.GA.
I have an issue using firefox 3 :
When I log in through the loging page: 
          
Email : admin@domain.com Password : xxxxxxxxxxx Remember me yes
           
And goes to the page of user Creation. I find that my form is pre-filled in this way :
Email : Name : admin@domain.com Password : xxxxxxxxxxx
The NAME is pre-filled by the used logging EMAIL and the password is filled by the logging password.
This happens when I click on REMEMBER password in Firefox 3.
My user entity :
@Entity
@Table(name = "user", catalog = "usersCat")
public class User extends AbstractEntity {
        private static final long       serialVersionUID        = 1L;
        public static enum Role {
                admin, user
        }
        @Column(name = "email", nullable = false)
        @NotEmpty
        @Email
        private String  email                                   = null;
        @Column(name = "name", nullable = false)
        @NotEmpty
        @Length(min = 1, max = 255)
        private String  name                                    = null;
        @Column(name = "password", nullable = false)
        @NotEmpty
        @Length(min = 1, max = 20)
        private String  password                                = null;
        @Column(name = "information", length = 65535)
        @Length(max = 65535)
        private String  information                             = null;
        @Column(name = "role", nullable = false)
        @NotNull
        @Enumerated(EnumType.STRING)
        private Role    role                                    = null;
Login page :
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
                      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
        xmlns:s="http://jboss.com/products/seam/taglib"
        xmlns:ui="http://java.sun.com/jsf/facelets"
        xmlns:f="http://java.sun.com/jsf/core"
        xmlns:h="http://java.sun.com/jsf/html"
        xmlns:a="http://richfaces.org/a4j"
        xmlns:rich="http://richfaces.org/rich" template="layout/template.xhtml">
        <ui:define name="body">
                <h:messages globalOnly="true" styleClass="message" id="globalMessages" />
                <h:form id="login" styleClass="edit">
                        <rich:panel>
                                <f:facet name="header">Login</f:facet>
                                <s:decorate id="usernameDecoration" template="layout/edit.xhtml">
                                        <ui:define name="label">Email</ui:define>
                                        <h:inputText id="username" value="#{identity.username}" />
                                </s:decorate>
                                <s:decorate id="passwordDecoration" template="layout/edit.xhtml">
                                        <ui:define name="label">Password</ui:define>
                                        <h:inputSecret id="password" value="#{identity.password}" />
                                </s:decorate>
                                <s:decorate id="rememberMeDecoration" template="layout/edit.xhtml">
                                        <ui:define name="label">Remember me</ui:define>
                                        <h:selectBooleanCheckbox id="rememberMe"
                                                value="#{identity.rememberMe}" />
                                </s:decorate>
                                <s:div style="clear: both">
                                        <span class="required">*</span>
                                        required fields
                                </s:div>
                        </rich:panel>
                        <s:div styleClass="actionButtons">
                                <h:commandButton value="Login" action="#{identity.login}" />
                        </s:div>
                </h:form>
        </ui:define>
</ui:composition>
User Edit :
<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
                             "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:s="http://jboss.com/products/seam/taglib"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:a="http://richfaces.org/a4j"
                xmlns:rich="http://richfaces.org/rich"
                template="layout/template.xhtml">
                       
<ui:define name="body">
    
    <h:messages globalOnly="true" styleClass="message" id="globalMessages"/>
    <h:form id="user" styleClass="edit">
    
        <rich:panel>
            <f:facet name="header">#{userHome.managed ? 'Edit' : 'Add'} User</f:facet>
            <s:decorate id="emailDecoration" template="layout/edit.xhtml">
                <ui:define name="label">Email</ui:define>
                <h:inputText id="email" value="#{userHome.instance.email}" size="50" required="true"/>
            </s:decorate>
            <s:decorate id="nameDecoration" template="layout/edit.xhtml">
                <ui:define name="label">Name</ui:define>
                <h:inputText id="name" value="#{userHome.instance.name}" size="50" required="true"/>
            </s:decorate>
            <s:decorate id="passwordDecoration" template="layout/edit.xhtml">
                <ui:define name="label">Password</ui:define>
                <h:inputSecret id="password" value="#{userHome.instance.password}" size="50" required="true"/>
            </s:decorate>
            
            <s:decorate id="informationDecoration" template="layout/edit.xhtml">
                <ui:define name="label">Information</ui:define>
                <h:inputTextarea id="information" cols="80" rows="4" value="#{userHome.instance.information}"/>
            </s:decorate>
            <s:decorate id="roleDecoration" template="layout/edit.xhtml">
                <ui:define name="label">Role</ui:define>
                <h:selectOneMenu value="#{userHome.instance.role}" required="true">
                        <s:selectItems var="_role" value="#{userHome.getRoles()}" label="#{_role.toString()}" 
                                noSelectionLabel="Please select a role"/>
                        <s:convertEnum/>
                </h:selectOneMenu>
            </s:decorate>
        
            <div style="clear:both">
                <span class="required">*</span> 
                required fields
            </div>
            
        </rich:panel>
                
        <div class="actionButtons">
            <h:commandButton id="save" value="Save" action="#{userHome.persist}" disabled="#{!userHome.wired}" rendered="#{!userHome.managed}"/>  
                                                  
            <h:commandButton id="update" value="Save" action="#{userHome.update}" rendered="#{userHome.managed}"/>
                                                  
            <h:commandButton id="delete" value="Delete" action="#{userHome.remove}" immediate="true" rendered="#{userHome.managed}"
                onclick="return confirmDelete(null, '#{userHome.instance.name}');"/>
                    
            <s:button id="done" value="Done" propagation="end" view="/User.xhtml" rendered="#{userHome.managed}"/>
                
            <s:button id="cancel" value="Cancel" propagation="end" view="/#{empty userFrom ? 'UserList' : userFrom}.xhtml" rendered="#{!userHome.managed}"/>
        </div>
    </h:form>
</ui:define>
</ui:composition>
I have no problem creating and saving a new user. and my application works perfectly under IE7.
It works on Firefox 3, if only I choose not to remember my password by firefox.
Is any one experiencing this strange issue? 
Thank you.
 
    