public String execute() {
		UserService userService = ServicesFactory.getUserService();
		try {
			User user = userService.getUserByNameAndPassword(userName, password);
			if(user == null){
				this.addActionError("user or password error!");
				user = userService.getUserByName(userName);
				int times = user.getErrorLoginTimes() + 1;
				if(times > 3){
					user.setDisabled("Y");
				}
				user.setErrorLoginTimes(times);
				updateLoginInfoToUser(user);
				return INPUT;
			}else{
				updateLoginInfoToUser(user);
			}
			if(!"N".equals(user.getDisabled())){
				this.addActionError("user is disabled!");
				return INPUT;
			}
			Role role = user.getRole();
			if(role != null){
				String roleName = role.getRoleName();
				if(!StringUtils.isBlank(roleName)){
					if(Role.ADMIN.equals(roleName)){
						return "ADMIN";
					}else if(Role.USER.equals(roleName)){
						return "USER";
					}
				}
			}
			this.addActionMessage("user has no authority");
			return INPUT;
		} catch (Exception e) {
			this.addActionError(e.getMessage());
			log.warning(e.getMessage());
			e.printStackTrace();
		}
		
		return INPUT;
	}