0

こんにちは、私は現在、ユーザーをアプリケーションにログインさせる非常に基本的な方法を使用しています。これは、ユーザーのユーザー名とパスワードを含むフォームの背後にマネージド Bean を含むフォームを使用しています。これは、2 人のユーザーを持つ小さなアプリケーションでは問題ありませんが、これを増やして登録ページなどを作成しようとしています。これを行うための最良の方法は何ですか?良いチュートリアルはありますか?私はnetbeansとglassfishを使用しています

これは私の現在の作業ログイン設定です

    <h:form id="login-form">
       <h:outputText value="username:"/>
       <h:inputText value="#{loginBean.username}" id="username"/>
       <br/>
       <h:outputText value="password:"/>
       <h:inputSecret value="#{loginBean.password}" id="password"/>
       <br/>
       <h:commandButton id="button" value="Login" action="#{loginBean.doLogin}"/>
       <br/>
       <h:commandLink action="#{navigationBean.redirectToInfo}" value="Info page"/>
       <br/>
       <h:messages />
       <br/>
    </h:form>

そして豆

*/
@ManagedBean
@SessionScoped
public class LoginBean implements Serializable {

    private static final long serialVersionUID = 7765876811740798583L;

    // Simple user database :)
    private static final String[] users = {"test:test","kate:123456"};

    private String username;
    private String password;

    private boolean loggedIn;

    @ManagedProperty(value="#{navigationBean}")
    private NavigationBean navigationBean;

    /**
     * Login operation.
     * @return
     */
    public String doLogin() {
        // Get every user from our sample database :)
        for (String user: users) {
            String dbUsername = user.split(":")[0];
            String dbPassword = user.split(":")[1];

            // Successful login
            if (dbUsername.equals(username) && dbPassword.equals(password)) {
                loggedIn = true;
                return navigationBean.redirectToWelcome();
            }
        }

        // Set login ERROR
        FacesMessage msg = new FacesMessage("Login error!", "ERROR MSG");
        msg.setSeverity(FacesMessage.SEVERITY_ERROR);
        FacesContext.getCurrentInstance().addMessage(null, msg);

        // To to login page
        return navigationBean.toLogin();

    }

    /**
     * Logout operation.
     * @return
     */
    public String doLogout() {
        // Set the paremeter indicating that user is logged in to false
        loggedIn = false;

        // Set logout message
        FacesMessage msg = new FacesMessage("Logout success!", "INFO MSG");
        msg.setSeverity(FacesMessage.SEVERITY_INFO);
        FacesContext.getCurrentInstance().addMessage(null, msg);

        return navigationBean.toLogin();
    }

    // ------------------------------
    // Getters & Setters
4

1 に答える 1