⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 loginaction.java

📁 Beginning Spring 2 源代码
💻 JAVA
字号:
package com.wrox.beginspring.pix.action;


import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.webflow.action.FormAction;
import org.springframework.webflow.execution.Event;
import org.springframework.webflow.execution.RequestContext;

import com.wrox.beginspring.pix.dao.UserJpaRepository;
import com.wrox.beginspring.pix.dao.UserRepository;
import com.wrox.beginspring.pix.model.PixUser;

public class LoginAction extends FormAction {
	
	private final Log log = LogFactory.getLog(LoginAction.class);
	
	private UserRepository userRepo;
    
    private PixUser user;
    
    public LoginAction() {
        setFormObjectName("user");
        setFormObjectClass(PixUser.class);
    }

	public Event login(RequestContext context) throws Exception {
        bindAndValidate(context);
		String errorMessage = "";
        
        user = (PixUser) getFormObject(context); 
        
		// Are the userName and password fields blank? 
        if ((user.getUserName() != null) && (!user.getUserName().equals("")) &&
                (user.getPassword() != null) && (!user.getPassword().equals(""))) {
			
			// Look up the user via the username 
            PixUser fetchedUser = userRepo.retreiveUserByUserName(user.getUserName());
 
			if (fetchedUser != null) { 
				// Is it the same user?
                if (!user.getPassword().equals(fetchedUser.getPassword())) {
                    errorMessage = "Password does not match for user [" + user.getUserName() + "]";
		            log.info(errorMessage);
					return error(new Exception(errorMessage));
				}
                else {
                    context.getExternalContext().getSessionMap().put("user", fetchedUser);
                    
                    return success("Successfully located user for login");
                }
			}
			else {
                errorMessage = "User [" + user.getUserName() + "] is null";
	            log.info(errorMessage);
				return error(new Exception(errorMessage));
			}
		}
		else {
            errorMessage = "Username or password is empty";
            log.info(errorMessage);
			return error(new Exception(errorMessage));
		}
	}

	public void setUserRepo(UserRepository userRepo) {
		this.userRepo = userRepo;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -