Search in sources :

Example 1 with LoginRequest

use of com.pogeyan.cmis.api.messages.LoginRequest in project copper-cms by PogeyanOSS.

the class AkkaCmisBrowserBindingServlet method verifyLogin.

private void verifyLogin(HttpServletRequest request, String[] pathFragments, ActorSystem system, Action<Object> onSuccess, Action<Object> onError) {
    // forwarding callback after verifying login response object
    Action<BaseMessage> onLoginSuccess = (t) -> {
        LoginResponse lr = (LoginResponse) t.getMessageAsType(LoginResponse.class);
        if (lr.isSuccessfulLogin()) {
            // To test different users and different password on test
            // cases require to remove cache on 1 second
            /*
				 * if (Helpers.isTestMode()) {
				 * //RedissonCacheFactory.get().put("login." + userName,
				 * lr.getLoginDetails(), 5, TimeUnit.SECONDS); } else { // set
				 * in map cache for 30 mins expiry
				 * //RedissonCacheFactory.get().put("login." + userName,
				 * lr.getLoginDetails(), 30, TimeUnit.MINUTES); }
				 */
            onSuccess.apply(lr.getLoginDetails());
        } else {
            onError.apply(null);
        }
    };
    ActorRef genericActorRef = system.actorOf(Props.create(GenericActor.class, onLoginSuccess, onError));
    LoginRequest loginRequest = new LoginRequest();
    loginRequest.setHeaders(ServletHelpers.getHeadersInfo(request));
    if (pathFragments.length > 0) {
        loginRequest.setRepositoryId(pathFragments[0]);
    }
    BaseMessage loginMessage = BaseMessage.create("login", "authenticate", loginRequest);
    genericActorRef.tell(loginMessage, ActorRef.noSender());
/*
		 * String userName = callContextMap.get(BrowserConstants.USERNAME);
		 * Object loginSession = RedissonCacheFactory.get().get("login." +
		 * userName); if (loginSession == "") { } else {
		 * onSuccess.apply(loginSession); }
		 */
}
Also used : LoginRequest(com.pogeyan.cmis.api.messages.LoginRequest) LoginResponse(com.pogeyan.cmis.api.messages.LoginResponse) ServletException(javax.servlet.ServletException) CmisPermissionDeniedException(org.apache.chemistry.opencmis.commons.exceptions.CmisPermissionDeniedException) BaseMessage(com.pogeyan.cmis.api.BaseMessage) LoggerFactory(org.slf4j.LoggerFactory) IUserObject(com.pogeyan.cmis.api.auth.IUserObject) StringUtils(org.apache.commons.lang3.StringUtils) CmisBaseResponse(com.pogeyan.cmis.api.messages.CmisBaseResponse) ActorSelection(akka.actor.ActorSelection) AsyncContext(javax.servlet.AsyncContext) HttpServletRequest(javax.servlet.http.HttpServletRequest) CmisErrorResponse(com.pogeyan.cmis.api.messages.CmisErrorResponse) Action(com.pogeyan.cmis.api.Action) ActorRef(akka.actor.ActorRef) CmisUnauthorizedException(org.apache.chemistry.opencmis.commons.exceptions.CmisUnauthorizedException) GenericActor(com.pogeyan.cmis.api.GenericActor) QueryStringHttpServletRequestWrapper(com.pogeyan.cmis.browser.shared.QueryStringHttpServletRequestWrapper) UntypedActor(akka.actor.UntypedActor) Helpers(com.pogeyan.cmis.api.utils.Helpers) ContentStream(org.apache.chemistry.opencmis.commons.data.ContentStream) MimeHelper(org.apache.chemistry.opencmis.commons.impl.MimeHelper) OutputStream(java.io.OutputStream) ServletConfig(javax.servlet.ServletConfig) Logger(org.slf4j.Logger) HttpServlet(javax.servlet.http.HttpServlet) CmisNotSupportedException(org.apache.chemistry.opencmis.commons.exceptions.CmisNotSupportedException) MetricsInputs(com.pogeyan.cmis.api.utils.MetricsInputs) HttpServletResponse(javax.servlet.http.HttpServletResponse) IOException(java.io.IOException) QueryGetRequest(com.pogeyan.cmis.api.messages.QueryGetRequest) WebServlet(javax.servlet.annotation.WebServlet) PostFileResponse(com.pogeyan.cmis.api.messages.PostFileResponse) POSTHttpServletRequestWrapper(com.pogeyan.cmis.browser.shared.POSTHttpServletRequestWrapper) IOUtils(org.apache.chemistry.opencmis.commons.impl.IOUtils) ActorSystem(akka.actor.ActorSystem) HttpUtils(com.pogeyan.cmis.browser.shared.HttpUtils) MessageType(com.pogeyan.cmis.api.MessageType) UnsupportedEncodingException(java.io.UnsupportedEncodingException) Props(akka.actor.Props) InputStream(java.io.InputStream) ExceptionUtils(org.apache.commons.lang3.exception.ExceptionUtils) LoginResponse(com.pogeyan.cmis.api.messages.LoginResponse) BaseMessage(com.pogeyan.cmis.api.BaseMessage) ActorRef(akka.actor.ActorRef) GenericActor(com.pogeyan.cmis.api.GenericActor) LoginRequest(com.pogeyan.cmis.api.messages.LoginRequest)

Aggregations

ActorRef (akka.actor.ActorRef)1 ActorSelection (akka.actor.ActorSelection)1 ActorSystem (akka.actor.ActorSystem)1 Props (akka.actor.Props)1 UntypedActor (akka.actor.UntypedActor)1 Action (com.pogeyan.cmis.api.Action)1 BaseMessage (com.pogeyan.cmis.api.BaseMessage)1 GenericActor (com.pogeyan.cmis.api.GenericActor)1 MessageType (com.pogeyan.cmis.api.MessageType)1 IUserObject (com.pogeyan.cmis.api.auth.IUserObject)1 CmisBaseResponse (com.pogeyan.cmis.api.messages.CmisBaseResponse)1 CmisErrorResponse (com.pogeyan.cmis.api.messages.CmisErrorResponse)1 LoginRequest (com.pogeyan.cmis.api.messages.LoginRequest)1 LoginResponse (com.pogeyan.cmis.api.messages.LoginResponse)1 PostFileResponse (com.pogeyan.cmis.api.messages.PostFileResponse)1 QueryGetRequest (com.pogeyan.cmis.api.messages.QueryGetRequest)1 Helpers (com.pogeyan.cmis.api.utils.Helpers)1 MetricsInputs (com.pogeyan.cmis.api.utils.MetricsInputs)1 HttpUtils (com.pogeyan.cmis.browser.shared.HttpUtils)1 POSTHttpServletRequestWrapper (com.pogeyan.cmis.browser.shared.POSTHttpServletRequestWrapper)1