示例#1
0
  private UserDTO getUserByName(String userName) throws UserRetrievalException {

    Authentication authenticator =
        new Authentication() {

          @Override
          public Collection<? extends GrantedAuthority> getAuthorities() {
            List<GrantedAuthority> auths = new ArrayList<GrantedAuthority>();
            auths.add(new GrantedPermission("ROLE_USER_AUTHENTICATOR"));
            return auths;
          }

          @Override
          public Object getCredentials() {
            return null;
          }

          @Override
          public Object getDetails() {
            return null;
          }

          @Override
          public Object getPrincipal() {
            return null;
          }

          @Override
          public boolean isAuthenticated() {
            return true;
          }

          @Override
          public void setAuthenticated(boolean arg0) throws IllegalArgumentException {}

          @Override
          public String getName() {
            return "AUTHENTICATOR";
          }
        };
    SecurityContextHolder.getContext().setAuthentication(authenticator);
    UserDTO user = userManager.getByName(userName);
    SecurityContextHolder.getContext().setAuthentication(null);
    return user;
  }