当前位置: 首页>>代码示例>>Java>>正文


Java AuthenticationRequest类代码示例

本文整理汇总了Java中org.ldaptive.auth.AuthenticationRequest的典型用法代码示例。如果您正苦于以下问题:Java AuthenticationRequest类的具体用法?Java AuthenticationRequest怎么用?Java AuthenticationRequest使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


AuthenticationRequest类属于org.ldaptive.auth包,在下文中一共展示了AuthenticationRequest类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: authenticate

import org.ldaptive.auth.AuthenticationRequest; //导入依赖的package包/类
@Override
public String authenticate(String login, String password) throws AuthenticationException {

  final AuthenticationResponse response;
  try {
    LOG.debug("Attempting LDAP authentication for: {}", login);
    final AuthenticationRequest request =
        new AuthenticationRequest(login, new Credential(password));
    request.setReturnAttributes(returnAttributes);
    response = this.ldapAuthenticator.authenticate(request);
  } catch (final LdapException e) {
    throw new AuthenticationException(401, "Unexpected LDAP error");
  }
  LOG.debug("LDAP response: {}", response);

  if (!response.getResult()) {
    throw new AuthenticationException(
        401, "Authentication failed. Please check username and password.");
  }

  if (AuthenticationResultCode.DN_RESOLUTION_FAILURE == response.getAuthenticationResultCode()) {
    throw new AuthenticationException(login + "  is not found");
  }
  LOG.debug("Account state {}", response.getAccountState());
  return idNormalizer.retrieveAndNormalize(response.getLdapEntry());
}
 
开发者ID:codenvy,项目名称:codenvy,代码行数:27,代码来源:LdapAuthenticationHandler.java

示例2: authenticateUsernamePasswordInternal

import org.ldaptive.auth.AuthenticationRequest; //导入依赖的package包/类
@Override
protected HandlerResult authenticateUsernamePasswordInternal(final UsernamePasswordCredential upc)
        throws GeneralSecurityException, PreventedException {
    final AuthenticationResponse response;
    try {
        logger.debug("Attempting LDAP authentication for {}", upc);
        final String password = getPasswordEncoder().encode(upc.getPassword());
        final AuthenticationRequest request = new AuthenticationRequest(upc.getUsername(),
                new org.ldaptive.Credential(password),
                this.authenticatedEntryAttributes);
        response = this.authenticator.authenticate(request);
    } catch (final LdapException e) {
        throw new PreventedException("Unexpected LDAP error", e);
    }
    logger.debug("LDAP response: {}", response);

    final List<MessageDescriptor> messageList;
    
    final LdapPasswordPolicyConfiguration ldapPasswordPolicyConfiguration =
            (LdapPasswordPolicyConfiguration) super.getPasswordPolicyConfiguration();
    if (ldapPasswordPolicyConfiguration != null) {
        logger.debug("Applying password policy to {}", response);
        messageList = ldapPasswordPolicyConfiguration.getAccountStateHandler().handle(
                response, ldapPasswordPolicyConfiguration);
    } else {
        messageList = Collections.emptyList();
    }
    
    if (response.getResult()) {
        return createHandlerResult(upc, createPrincipal(upc.getUsername(), response.getLdapEntry()), messageList);
    }

    if (AuthenticationResultCode.DN_RESOLUTION_FAILURE == response.getAuthenticationResultCode()) {
        throw new AccountNotFoundException(upc.getUsername() + " not found.");
    }
    throw new FailedLoginException("Invalid credentials");
}
 
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:38,代码来源:LdapAuthenticationHandler.java

示例3: authenticateUsernamePasswordInternal

import org.ldaptive.auth.AuthenticationRequest; //导入依赖的package包/类
@Override
protected HandlerResult authenticateUsernamePasswordInternal(final UsernamePasswordCredential upc,
                                                             final String originalPassword) throws GeneralSecurityException, PreventedException {
    final AuthenticationResponse response;
    try {
        LOGGER.debug("Attempting LDAP authentication for [{}]. Authenticator pre-configured attributes are [{}], "
                        + "additional requested attributes for this authentication request are [{}]",
                upc, authenticator.getReturnAttributes(), authenticatedEntryAttributes);
        final AuthenticationRequest request = new AuthenticationRequest(upc.getUsername(),
                new org.ldaptive.Credential(upc.getPassword()), authenticatedEntryAttributes);
        response = authenticator.authenticate(request);
    } catch (final LdapException e) {
        LOGGER.trace(e.getMessage(), e);
        throw new PreventedException("Unexpected LDAP error", e);
    }
    LOGGER.debug("LDAP response: [{}]", response);

    final List<MessageDescriptor> messageList;
    final LdapPasswordPolicyConfiguration ldapPasswordPolicyConfiguration = (LdapPasswordPolicyConfiguration) super.getPasswordPolicyConfiguration();
    if (ldapPasswordPolicyConfiguration != null) {
        LOGGER.debug("Applying password policy to [{}]", response);
        messageList = ldapPasswordPolicyConfiguration.getAccountStateHandler().handle(response, ldapPasswordPolicyConfiguration);
    } else {
        LOGGER.debug("No ldap password policy configuration is defined");
        messageList = Collections.emptyList();
    }

    if (response.getResult()) {
        LOGGER.debug("LDAP response returned a result. Creating the final LDAP principal");
        return createHandlerResult(upc, createPrincipal(upc.getUsername(), response.getLdapEntry()), messageList);
    }

    if (AuthenticationResultCode.DN_RESOLUTION_FAILURE == response.getAuthenticationResultCode()) {
        LOGGER.warn("DN resolution failed. [{}]", response.getMessage());
        throw new AccountNotFoundException(upc.getUsername() + " not found.");
    }
    throw new FailedLoginException("Invalid credentials");
}
 
开发者ID:mrluo735,项目名称:cas-5.1.0,代码行数:39,代码来源:LdapAuthenticationHandler.java

示例4: authenticateUsernamePasswordInternal

import org.ldaptive.auth.AuthenticationRequest; //导入依赖的package包/类
@Override
protected HandlerResult authenticateUsernamePasswordInternal(final UsernamePasswordCredential upc)
        throws GeneralSecurityException, PreventedException {
    final AuthenticationResponse response;
    try {
        logger.debug("Attempting LDAP authentication for {}", upc);
        final AuthenticationRequest request = new AuthenticationRequest(upc.getUsername(),
                new org.ldaptive.Credential(upc.getPassword()),
                this.authenticatedEntryAttributes);
        response = this.authenticator.authenticate(request);
    } catch (final LdapException e) {
        throw new PreventedException("Unexpected LDAP error", e);
    }
    logger.debug("LDAP response: {}", response);

    final List<Message> messageList;
    
    final LdapPasswordPolicyConfiguration ldapPasswordPolicyConfiguration =
            (LdapPasswordPolicyConfiguration) super.getPasswordPolicyConfiguration();
    if (ldapPasswordPolicyConfiguration != null) {
        logger.debug("Applying password policy to {}", response);
        messageList = ldapPasswordPolicyConfiguration.getAccountStateHandler().handle(
                response, ldapPasswordPolicyConfiguration);
    } else {
        messageList = Collections.emptyList();
    }
    
    if (response.getResult()) {
        return createHandlerResult(upc, createPrincipal(upc.getUsername(), response.getLdapEntry()), messageList);
    }

    if (AuthenticationResultCode.DN_RESOLUTION_FAILURE == response.getAuthenticationResultCode()) {
        throw new AccountNotFoundException(upc.getUsername() + " not found.");
    }
    throw new FailedLoginException("Invalid credentials.");
}
 
开发者ID:luotuo,项目名称:cas4.0.x-server-wechat,代码行数:37,代码来源:LdapAuthenticationHandler.java

示例5: validate

import org.ldaptive.auth.AuthenticationRequest; //导入依赖的package包/类
@Override
public void validate(final UsernamePasswordCredentials credentials, final WebContext context) throws HttpAction {
    init(context);

    final String username = credentials.getUsername();
    final String[] ldapAttributes = attributes.split(",");
    final AuthenticationResponse response;
    try {
        logger.debug("Attempting LDAP authentication for: {}", credentials);
        final AuthenticationRequest request = new AuthenticationRequest(username,
                new org.ldaptive.Credential(credentials.getPassword()),
                ldapAttributes);
        response = this.ldapAuthenticator.authenticate(request);
    } catch (final LdapException e) {
        throw new TechnicalException("Unexpected LDAP error", e);
    }
    logger.debug("LDAP response: {}", response);

    if (response.getResult()) {
        final LdapProfile profile = createProfile(username, ldapAttributes, response.getLdapEntry());
        credentials.setUserProfile(profile);
        return;
    }

    if (AuthenticationResultCode.DN_RESOLUTION_FAILURE == response.getAuthenticationResultCode()) {
        throw new AccountNotFoundException(username + " not found");
    }
    throw new BadCredentialsException("Invalid credentials for: " + username);
}
 
开发者ID:yaochi,项目名称:pac4j-plus,代码行数:30,代码来源:LdapAuthenticator.java

示例6: authenticateUsernamePasswordInternal

import org.ldaptive.auth.AuthenticationRequest; //导入依赖的package包/类
@Override
protected HandlerResult authenticateUsernamePasswordInternal(final UsernamePasswordCredential upc)
        throws GeneralSecurityException, PreventedException {
    final AuthenticationResponse response;
    try {
        logger.debug("Attempting LDAP authentication for {}", upc);
        final String password = getPasswordEncoder().encode(upc.getPassword());
        final AuthenticationRequest request = new AuthenticationRequest(upc.getUsername(),
                new org.ldaptive.Credential(password),
                this.authenticatedEntryAttributes);
        response = this.authenticator.authenticate(request);
    } catch (final LdapException e) {
        logger.trace(e.getMessage(), e);
        throw new PreventedException("Unexpected LDAP error", e);
    }
    logger.debug("LDAP response: {}", response);

    final List<MessageDescriptor> messageList;
    
    final LdapPasswordPolicyConfiguration ldapPasswordPolicyConfiguration =
            (LdapPasswordPolicyConfiguration) super.getPasswordPolicyConfiguration();
    if (ldapPasswordPolicyConfiguration != null) {
        logger.debug("Applying password policy to {}", response);
        messageList = ldapPasswordPolicyConfiguration.getAccountStateHandler().handle(
                response, ldapPasswordPolicyConfiguration);
    } else {
        logger.debug("No ldap password policy configuration is defined");
        messageList = Collections.emptyList();
    }
    
    if (response.getResult()) {
        logger.debug("LDAP response returned as result. Creating the final LDAP principal");
        return createHandlerResult(upc, createPrincipal(upc.getUsername(), response.getLdapEntry()), messageList);
    }

    if (AuthenticationResultCode.DN_RESOLUTION_FAILURE == response.getAuthenticationResultCode()) {
        logger.warn("DN resolution failed. {}", response.getMessage());
        throw new AccountNotFoundException(upc.getUsername() + " not found.");
    }
    throw new FailedLoginException("Invalid credentials");
}
 
开发者ID:hsj-xiaokang,项目名称:springboot-shiro-cas-mybatis,代码行数:42,代码来源:LdapAuthenticationHandler.java

示例7: authenticate

import org.ldaptive.auth.AuthenticationRequest; //导入依赖的package包/类
@Override
public Authentication authenticate(final Authentication authentication) throws AuthenticationException {
    try {
        final String username = authentication.getPrincipal().toString();
        final Object credentials = authentication.getCredentials();
        final String password = credentials == null ? null : credentials.toString();

        LOGGER.debug("Preparing LDAP authentication request for user [{}]", username);

        final AuthenticationRequest request = new AuthenticationRequest(username, new org.ldaptive.Credential(password), ReturnAttributes.ALL.value());
        final Authenticator authenticator = Beans.newLdaptiveAuthenticator(adminPagesSecurityProperties.getLdap());
        LOGGER.debug("Executing LDAP authentication request for user [{}]", username);
        
        final AuthenticationResponse response = authenticator.authenticate(request);
        LOGGER.debug("LDAP response: [{}]", response);
        
        if (response.getResult()) {
            final LdapEntry entry = response.getLdapEntry();

            final CommonProfile profile = new CommonProfile();
            profile.setId(username);
            entry.getAttributes().forEach(a -> profile.addAttribute(a.getName(), a.getStringValues()));

            LOGGER.debug("Collected user profile [{}]", profile);

            this.authorizationGenerator.generate(WebUtils.getPac4jJ2EContext(), profile);
            LOGGER.debug("Assembled user profile with roles after generating authorization claims [{}]", profile);

            final Collection<GrantedAuthority> authorities = new ArrayList<>();
            authorities.addAll(profile.getRoles().stream().map(SimpleGrantedAuthority::new).collect(Collectors.toList()));
            LOGGER.debug("List of authorities remapped from profile roles are [{}]", authorities);

            final RequireAnyRoleAuthorizer authorizer = new RequireAnyRoleAuthorizer(adminPagesSecurityProperties.getAdminRoles());
            LOGGER.debug("Executing authorization for expected admin roles [{}]", authorizer.getElements());

            final J2EContext context = WebUtils.getPac4jJ2EContext();

            if (authorizer.isAllAuthorized(context, Arrays.asList(profile))) {
                return new UsernamePasswordAuthenticationToken(username, password, authorities);
            }
            LOGGER.warn("User [{}] is not authorized to access the requested resource allowed to roles [{}]",
                    username, authorizer.getElements());
        } else {
            LOGGER.warn("LDAP authentication response produced no results for [{}]", username);
        }

    } catch (final Exception e) {
        LOGGER.error(e.getMessage(), e);
        throw new InsufficientAuthenticationException("Unexpected LDAP error", e);
    }
    throw new BadCredentialsException("Could not authenticate provided credentials");
}
 
开发者ID:mrluo735,项目名称:cas-5.1.0,代码行数:53,代码来源:LdapAuthenticationProvider.java

示例8: authenticate

import org.ldaptive.auth.AuthenticationRequest; //导入依赖的package包/类
/**
 * Perform authentication with given username and password.
 * Receive the result from Ldap server
 * @param username Username that user entered to login
 * @param password Password that user entered to login
 * @return LdapEntry which contains all user attributes
 */
private LdapEntry authenticate(String username,Object password)
{
  try {
    SearchDnResolver dnResolver = new SearchDnResolver(new DefaultConnectionFactory(connConfig));

    dnResolver.setBaseDn(_userBaseDn);
    dnResolver.setSubtreeSearch(true);
    String userFilter = buildFilter(_userFilter, _userObjectClass, _userIdAttribute);
    LOG.debug("Searching a user with filter {} where user is {}", userFilter, username);
    dnResolver.setUserFilter(userFilter);

    // Set Authenticator with username and password. It will return the user if username/password matches.
    BindAuthenticationHandler authHandler = new BindAuthenticationHandler(new DefaultConnectionFactory(connConfig));
    Authenticator auth = new Authenticator(dnResolver, authHandler);
    AuthenticationRequest authRequest = new AuthenticationRequest();
    authRequest.setUser(username);
    if (password instanceof char[]) {
      authRequest.setCredential(new org.ldaptive.Credential(new String((char[]) password)));
    } else if (password instanceof String){
      authRequest.setCredential(new org.ldaptive.Credential((String)password));
    } else {
      LOG.error("Unexpected type for password '{}'", (password != null) ? password.getClass() : "NULL");
      return null;
    }
    String[] userRoleAttribute = ReturnAttributes.ALL.value();
    authRequest.setReturnAttributes(userRoleAttribute);

    LOG.debug("Retrieved authenticator from factory: {}", auth);
    LOG.debug("Retrieved authentication request from factory: {}", authRequest);

    AuthenticationResponse response = auth.authenticate(authRequest);
    LOG.info("Found user?: {}", response.getResult());
    if (response.getResult()) {
      LdapEntry entry = response.getLdapEntry();
      return entry;
    } else {
      // User not found. Most likely username/password didn't match. Log the reason.
      LOG.error("Result code: {} - {}", response.getResultCode(), response.getMessage());
    }
  } catch (LdapException e) {
    LOG.warn(e.getMessage());
  }
  return null;
}
 
开发者ID:streamsets,项目名称:datacollector,代码行数:52,代码来源:LdapLoginModule.java


注:本文中的org.ldaptive.auth.AuthenticationRequest类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。