Esempio n. 1
0
  /** 登录 */
  public String execute() {
    // 判断是否匿名登录
    if (this.user.getUserName() == null || "".equals(this.user.getUserName().trim())) {
      this.user =
          userManager.getById(
              Integer.parseInt(globalSetting.getParam(Constants.ANONYMOUSE_USERID)));
      if (log.isDebugEnabled()) {
        log.debug("使用匿名用户登录");
      }

      if (this.authenticationByShiro(user.getUserName(), user.getPassword(), this.rememberMe)) {
        initCurrentUserInfo(this.user);
        return SUCCESS;
      }

      return INPUT;
    }

    // 如果是通过登录页面登录
    else {

      if (validateCaptcha()) {
        if (this.authenticationByShiro(
            user.getUserName(),
            this.pwdEncoder.encodePassword(user.getPassword()),
            this.rememberMe)) {

          User loginUser = this.userManager.getByUserName(this.user.getUserName());
          // 初始化用户对象
          initCurrentUserInfo(loginUser);
          // 更新登录状态
          updateUserLoginInfo(loginUser);
          return SUCCESS;
        }
        return INPUT;
      } else {
        return INPUT;
      }
    }
  }
Esempio n. 2
0
  /** 注册后直接登录 */
  public String loginAfterRegister() {

    if (this.authenticationByShiro(
        user.getUserName(), this.pwdEncoder.encodePassword(user.getPassword()), this.rememberMe)) {

      User loginUser = this.userManager.getByUserName(this.user.getUserName());
      // 初始化用户对象
      initCurrentUserInfo(loginUser);
      // 更新登录状态
      updateUserLoginInfo(loginUser);
      return SUCCESS;
    }
    return INPUT;
  }