Широ не удалось войти в систему Исключение аргумента Illegael - основной аргумент не может быть нулевым

Этот код делегирования класса для входа в Apatche Shiro. Показывает ошибку на

   Subject subject = this.securityManager.login(this, token);

Ошибка: основной аргумент не может быть нулевым.

result = {AuthenticationException @ 7922} Метод вызвал исключение org.apache.shiro.authc.AuthenticationException. detailMessage = "Ошибка аутентификации для отправки токена [org.apache.shiro.authc.UsernamePasswordToken - 9876534357, RememberMe = true]. Возможная непредвиденная ошибка? (Типичные или ожидаемые исключения при входе должны исходить от AuthenticationException).» причина = {IllegalArgumentException @ 8066} "java.lang.IllegalArgumentException: основной аргумент не может быть нулевым". stackTrace = {StackTraceElement [70] @ 8067} suppressedExceptions = {Collections $ UnmodifiableRandomAccessList @ 7696} size = 0

  public void login(AuthenticationToken token) throws AuthenticationException {
    this.clearRunAsIdentitiesInternal();
    Subject subject = this.securityManager.login(this, token);
    String host = null;
    PrincipalCollection principals;
    if (subject instanceof DelegatingSubject) {
        DelegatingSubject delegating = (DelegatingSubject)subject;
        principals = delegating.principals;
        host = delegating.host;
    } else {
        principals = subject.getPrincipals();
    }

    if (principals != null && !principals.isEmpty()) {
        this.principals = principals;
        this.authenticated = true;
        if (token instanceof HostAuthenticationToken) {
            host = ((HostAuthenticationToken)token).getHost();
        }

        if (host != null) {
            this.host = host;
        }

        Session session = subject.getSession(false);
        if (session != null) {
            this.session = this.decorate(session);
        } else {
            this.session = null;
        }

    } else {
        String msg = "Principals returned from securityManager.login( token ) returned a null or empty value.  This value must be non null and populated with one or more elements.";
        throw new IllegalStateException(msg);
    }
}






stackTrace = {StackTraceElement[70]@7843} 

Этот вопрос не дает подробного контекста, см. https://stackoverflow.com/help/how-to-ask


person A.G    schedule 25.01.2018    source источник


Ответы (1)


Я делаю это в трассировке стека: com.hk.web.resource.UserResource.loginViaOTP(UserResource.java:365)

Если вы НЕ используете веб-фильтры Широ, вам нужно будет управлять созданием темы и, возможно, непосредственно связью потоков.

0 = {StackTraceElement @ 7701}
"org.apache.shiro.authc.AbstractAuthenticator.authenticate (AbstractAuthenticator.java:214)" 1 = {StackTraceElement @ 7702} "org.apache.shiro.mgt.AuthenticatingSecurityManager. AuthenticatingSecurityManager.java:106) "2 = {StackTraceElement @ 7703}" org.apache.shiro.mgt.DefaultSecurityManager.login (DefaultSecurityManager.java:274) "3 = {StackTraceElement @ 7704}" org.apache.shject. support.DelegatingSubject.login (DelegatingSubject.java:260) "4 = {StackTraceElement @ 7705}" com.hk.impl.service.auth.LoginServiceImpl.login (LoginServiceImpl.java:262) "5 = {StackTraceElement @ 7706} com.hk.impl.service.auth.LoginServiceImpl.loginAuthenticatedUser (LoginServiceImpl.java:223) "6 = {StackTraceElement @ 7707}" com.hk.impl.service.auth.LoginServiceImpl.login (LoginService4Impl.java) " 7 = {StackTraceElement @ 7708} "com.hk.web.resource.UserResource.loginViaOTP (UserResource.java:365)" 8 = {StackTraceElement @ 7709} "sun.reflect .NativeMethodAccessorImpl.invoke0 (собственный метод) "9 = {StackTraceElement @ 7710}" sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) "10 = {StackTraceElement @ 7711.Delegating java: 43) "11 = {StackTraceElement @ 7712}" java.lang.reflect.Method.invoke (Method.java:498) "12 = {StackTraceElement @ 7713}" org.jboss.resteasy.core.MethodInjectorImpl.invoke ( MethodInjectorImpl.java:139) "13 = {StackTraceElement @ 7714}" org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget (ResourceMethodInvoker.java:295) "14 = {StackTraceElement @ 7715ss. orres ResourceMethodInvoker.invoke (ResourceMethodInvoker.java:249) "15 = {StackTraceElement @ 7716}" org.jboss.resteasy.core.ResourceMethodInvoker.invoke (ResourceMethodInvoker.java:236) "16". resteasy.core.SynchronousDispatcher.invoke (SynchronousDispatcher.java:376) "17 = {StackTraceEle ment @ 7718} "org.jboss.resteasy.core.SynchronousDispatcher.invoke (SynchronousDispatcher.java:199)" 18 = {StackTraceElement @ 7719} "org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service. java: 221) "19 = {StackTraceElement @ 7720}" org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service (HttpServletDispatcher.java:56) "20 = {StackTraceElement @ 7721}" org.jteasy. plugins.server.servlet.HttpServletDispatcher.service (HttpServletDispatcher.java:51) "21 = {StackTraceElement @ 7722}" javax.servlet.http. HttpServlet.service (HttpServlet.java:742) "22 = {StackTraceElement @ 7723}" org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:231) "23 = {StackTraceElement @ 7723}. catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166) "24 = {StackTraceElement @ 7725}" org.apache.tomcat.websocket.server.WsFilter.doFilter (WsFilter.java:52) "25 = {StackTraceElement @ 7725}" } "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:193)" 26 = {StackTraceElement @ 7727} "org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain =" 27 " {StackTraceElement @ 7728} "com.hk.web.filter.PersonaCookieFilter.doFilter (PersonaCookieFilter.java:60)" 28 = {StackTraceElement @ 7729} "org.apache.catalina.core.ApplicationFilterChain.internal. ) "29 = {StackTraceElement @ 7730}" org.apache.catalina.core.ApplicationFilterChain. doFilter (ApplicationFilterChain.java:166) "30 = {StackTraceElement @ 7731}" com.hk.web.filter.GoogleBotFilter.doFilter (GoogleBotFilter.java:102) "31 = {StackTraceElement @ 7732}" org.apache.catalina. core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:193) "32 = {StackTraceElement @ 7733}" org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166) "33 = {StackTraceElement @ 7733)" 33 = {StackTraceElement @ 7733} " hk.web.filter.InAppUrlRedirectFilter.doFilter (InAppUrlRedirectFilter.java:315) "34 = {StackTraceElement @ 7735}" org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain = {@ StackTraceElement:193) "356 } "org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166)" 36 = {StackTraceElement @ 7737} "com.hk.web.filter.WebContextFilter.doFilter (WebContextFilter.java =:13)" {StackTraceElement @ 7738} "org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (Applica tionFilterChain.java:193) "38 = {StackTraceElement @ 7739}" org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166) "39 = {StackTraceElement @ 7740}" org.webache.shiro.shiro.shiro. servlet.AbstractShiroFilter.executeChain (AbstractShiroFilter.java:449) "40 = {StackTraceElement @ 7741}" org.apache.shiro.web.servlet.AbstractShiroFilter $ 1.call (AbstractShiroFilter.java:365) "41} = {StackTraceElement @ 7741} "org.apache.shiro.subject.support. SubjectCallable.doCall (SubjectCallable.java:90) "42 = {StackTraceElement @ 7743}" org.apache.shiro.subject.support.SubjectCallable.call (SubjectCallable.java:83) "43 = {StackTraceElement @ 7744}" org. apache.shiro.subject.support.DelegatingSubject.execute (DelegatingSubject.java:387) "44 = {StackTraceElement @ 7745}" org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal (AbstractShiroFilter) 45:36 {StackTraceElement @ 7746} "org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:125)" 46 = {StackTraceElement @ 7747} "org.springframework.web.filter.Delegating : 347) "47 = {StackTraceElement @ 7748}" org.springframework.web.filter.DelegatingFilterProxy.doFilter (DelegatingFilterProxy.java:263) "48 = {StackTraceElement @ 7749}" org.apache.catalina.coreChalication. (ApplicationFilterChain.java:193) "49 = {StackTraceElement @ 7750}" org.apache.catalina. core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166) "50 = {StackTraceElement @ 7751}" com.hk.web.filter.EncodingFilter.doFilter (EncodingFilter.java:27) "51 = {StackTraceElement @ 7752}. apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:193) "52 = {StackTraceElement @ 7753}" org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain. } "org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:199)" 54 = {StackTraceElement @ 7755} "org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java =:96)" 55 {StackTraceElement @ 7756} "org.apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.java:504)" 56 = {StackTraceElement @ 7757} "org.apache.catalina.core.StandardHostValveHostValve.invoke (StandardHostValve.invoke. ) "57 = {StackTraceElement @ 7758}" org.apache.catalina.valves.ErrorReportValve.invoke (Erro rReportValve.java:81) "58 = {StackTraceElement @ 7759}" org.apache.catalina.valves.AbstractAccessLogValve.invoke (AbstractAccessLogValve.java:650) "59 = {StackTraceElement @ 7760}" org.apache.catalina. StandardEngineValve.invoke (StandardEngineValve.java:87) "60 = {StackTraceElement @ 7761}" org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:342) "61 = {StackTraceElement @ 7762}" org. coyote.http11.Http11Processor.service (Http11Processor.java:803) "62 = {StackTraceElement @ 7763}" org.apache.coyote. AbstractProcessorLight.process (AbstractProcessorLight.java:66) "63 = {StackTraceElement @ 7764}" org.apache.coyote.AbstractProtocol $ ConnectionHandler.process (AbstractProtocol.java:790) "64 = {StackTraceElement @ 7765}" org.apache. tomcat.util.net.NioEndpoint $ SocketProcessor.doRun (NioEndpoint.java:1459) "65 = {StackTraceElement @ 7766}" org.apache.tomcat.util.net.SocketProcessorBase.run (SocketProcessorBase.java:49) "66 = {StackTraceElement @ 7767} "java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1149)" 67 = {StackTraceElement @ 7768} "java.util.concurrent.ThreadPoolExecutor (Thread24.java)" 68 = {StackTraceElement @ 7769} "org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run (TaskThread.java:61)" 69 = {StackTraceElement @ 7770} "java.lang.Thread.run (Thread.java : 748) "

person Brian Demers    schedule 26.01.2018