Search in sources :

Example 1 with AuthenticationRequest

use of org.apache.openejb.client.AuthenticationRequest in project tomee by apache.

the class AuthRequestHandler method processRequest.

@Override
public Response processRequest(final ObjectInputStream in, final ProtocolMetaData metaData) throws Exception {
    final AuthenticationRequest req = new AuthenticationRequest();
    req.setMetaData(metaData);
    final AuthenticationResponse res = new AuthenticationResponse();
    res.setMetaData(metaData);
    try {
        req.readExternal(in);
        final String securityRealm = req.getRealm();
        final String username = req.getUsername();
        final String password = req.getCredentials();
        final SecurityService securityService = SystemInstance.get().getComponent(SecurityService.class);
        final Object token = securityService.login(securityRealm, username, password);
        final ClientMetaData client = new ClientMetaData();
        client.setMetaData(metaData);
        client.setClientIdentity(token);
        res.setIdentity(client);
        res.setResponseCode(ResponseCodes.AUTH_GRANTED);
    } catch (Throwable t) {
        res.setResponseCode(ResponseCodes.AUTH_DENIED);
        res.setDeniedCause(t);
    } finally {
        if (debug) {
            try {
                logger.debug("AUTH REQUEST: " + req + " -- RESPONSE: " + res);
            } catch (Exception e) {
            //Ignore
            }
        }
    }
    return res;
}
Also used : SecurityService(org.apache.openejb.spi.SecurityService) AuthenticationRequest(org.apache.openejb.client.AuthenticationRequest) AuthenticationResponse(org.apache.openejb.client.AuthenticationResponse) ClientMetaData(org.apache.openejb.client.ClientMetaData)

Aggregations

AuthenticationRequest (org.apache.openejb.client.AuthenticationRequest)1 AuthenticationResponse (org.apache.openejb.client.AuthenticationResponse)1 ClientMetaData (org.apache.openejb.client.ClientMetaData)1 SecurityService (org.apache.openejb.spi.SecurityService)1