<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Share authentication customization in Alfresco Forum</title>
    <link>https://connect.hyland.com/t5/alfresco-forum/share-authentication-customization/m-p/64691#M21979</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for your Reply&lt;/P&gt;&lt;P&gt;So what i need to do is adding &lt;STRONG&gt;some function&lt;/STRONG&gt; that test if a user tries to login 3 times if it fail i want to disable his account using cm&lt;img id="smileytongue" class="emoticon emoticon-smileytongue" src="https://connect.hyland.com/i/smilies/16x16_smiley-tongue.png" alt="Smiley Tongue" title="Smiley Tongue" /&gt;ersion&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 12 Feb 2018 09:07:00 GMT</pubDate>
    <dc:creator>laridev</dc:creator>
    <dc:date>2018-02-12T09:07:00Z</dc:date>
    <item>
      <title>Share authentication customization</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/share-authentication-customization/m-p/64686#M21974</link>
      <description>Hello,&amp;nbsp;I Was looking at your Profile on alfresco community and i found that you are an Expert i'm Honored to Learn from you , So I'm Trying to, Override the login Mechanism as this post&amp;nbsp;Share authentication customization&amp;nbsp;but i had a Problem It's Telling Me in Share logs :&amp;nbsp;---------------------------</description>
      <pubDate>Sun, 11 Feb 2018 10:57:59 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/share-authentication-customization/m-p/64686#M21974</guid>
      <dc:creator>laridev</dc:creator>
      <dc:date>2018-02-11T10:57:59Z</dc:date>
    </item>
    <item>
      <title>Re: Share authentication customization</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/share-authentication-customization/m-p/64687#M21975</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Without knowing the source of your custom ElitLoginController it is impossible to determine where that NullPointerException originates. But generally that exception is an indicator of a basic coding mistake. If you can provide either the source or a link to a public repository where it is managed, I might have a look. Also, there typically should be some sort of stack trace in any error message highlighting the origin (i.e. "Caused by" segment) - can you provide a more extensive log?&lt;/P&gt;&lt;P&gt;I generally advise everyone to prefer creating a new question instead of replying to&amp;nbsp;one that has been inactive / closed for more than a year. That way, other people are much more likely to see it and respond, so you don't necessarily have to wait for me to notice...&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 11 Feb 2018 14:05:28 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/share-authentication-customization/m-p/64687#M21975</guid>
      <dc:creator>afaust</dc:creator>
      <dc:date>2018-02-11T14:05:28Z</dc:date>
    </item>
    <item>
      <title>Re: Share authentication customization</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/share-authentication-customization/m-p/64688#M21976</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you this my login controller looks like :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;------------------------------------------------------------------------&lt;/P&gt;&lt;PRE style="color: #000000; background-color: #ffffff; font-size: 14,3pt;"&gt;&lt;SPAN style="color: #000080; font-weight: bold;"&gt;package &lt;/SPAN&gt;com.alfresco;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;org.slf4j.Logger;&lt;BR /&gt;&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;org.slf4j.LoggerFactory;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;javax.servlet.http.HttpServletRequest;&lt;BR /&gt;&lt;SPAN style="color: #000080; font-weight: bold;"&gt;import &lt;/SPAN&gt;javax.servlet.http.HttpServletResponse;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="color: #000080; font-weight: bold;"&gt;public class &lt;/SPAN&gt;ElitLoginController{&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;private &lt;/SPAN&gt;Logger &lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;logger &lt;/SPAN&gt;= LoggerFactory.&lt;SPAN&gt;getLogger&lt;/SPAN&gt;(ElitLoginController.&lt;SPAN style="color: #000080; font-weight: bold;"&gt;class&lt;/SPAN&gt;);&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #000080; font-weight: bold;"&gt;protected void &lt;/SPAN&gt;onSuccess(HttpServletRequest request, HttpServletResponse response) &lt;SPAN style="color: #000080; font-weight: bold;"&gt;throws &lt;/SPAN&gt;Exception&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&lt;SPAN style="color: #808080;"&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.beforeLoginSuccess(request, response);&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;logger&lt;/SPAN&gt;.info(&lt;SPAN style="color: #008000; font-weight: bold;"&gt;"larbi is doing it"&lt;/SPAN&gt;);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;logger&lt;/SPAN&gt;.info(&lt;SPAN style="color: #008000; font-weight: bold;"&gt;"Request is {}"&lt;/SPAN&gt;,request);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #660e7a; font-weight: bold;"&gt;logger&lt;/SPAN&gt;.info(&lt;SPAN style="color: #008000; font-weight: bold;"&gt;"Response is {}"&lt;/SPAN&gt;,response);&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="color: #808080;"&gt;//&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; super.onSuccess(request, response);&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #808080;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;PRE style="color: #000000; background-color: #ffffff; font-size: 14,3pt;"&gt;--------------------------------------------------------------&lt;PRE style="color: #000000; background-color: #ffffff; font-size: 14,3pt;"&gt;&lt;/PRE&gt;&lt;/PRE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 11 Feb 2018 14:13:15 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/share-authentication-customization/m-p/64688#M21976</guid>
      <dc:creator>laridev</dc:creator>
      <dc:date>2018-02-11T14:13:15Z</dc:date>
    </item>
    <item>
      <title>Re: Share authentication customization</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/share-authentication-customization/m-p/64689#M21977</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;share.log :&lt;/P&gt;&lt;P&gt;[org.alfresco.web.config.packaging.ModulePackageManager] [localhost-startStop-1] Found 2 module package(s)&lt;BR /&gt; [org.alfresco.web.config.packaging.ModulePackageManager] [localhost-startStop-1] Alfresco / Google Docs Share Module, 3.0.4, The Share side artifacts of the Alfresco / Google Docs Integration.&lt;BR /&gt;Share AMP project, 1.0-SNAPSHOT, Manages the lifecycle of the Share AMP (Alfresco Module Package)&lt;/P&gt;&lt;P&gt;[org.springframework.extensions.webscripts.TemplateProcessorRegistry] [localhost-startStop-1] Registered template processor freemarker for extension ftl&lt;BR /&gt; [org.springframework.extensions.webscripts.ScriptProcessorRegistry] [localhost-startStop-1] Registered script processor javascript for extension js&lt;BR /&gt; [org.springframework.extensions.webscripts.TemplateProcessorRegistry] [localhost-startStop-1] Registered template processor freemarker for extension ftl&lt;BR /&gt; [org.springframework.extensions.webscripts.ScriptProcessorRegistry] [localhost-startStop-1] Registered script processor javascript for extension js&lt;BR /&gt; [org.springframework.extensions.webscripts.DeclarativeRegistry] [localhost-startStop-1] Registered 394 Web Scripts (+0 failed), 412 URLs&lt;BR /&gt; [org.springframework.extensions.webscripts.DeclarativeRegistry] [localhost-startStop-1] Registered 8 Package Description Documents (+0 failed) &lt;BR /&gt; [org.springframework.extensions.webscripts.DeclarativeRegistry] [localhost-startStop-1] Registered 0 Schema Description Documents (+0 failed) &lt;BR /&gt; [org.springframework.extensions.webscripts.AbstractRuntimeContainer] [localhost-startStop-1] Initialised Surf Container Web Script Container (in 2782.788ms)&lt;BR /&gt; [org.springframework.extensions.webscripts.TemplateProcessorRegistry] [localhost-startStop-1] Registered template processor freemarker for extension ftl&lt;BR /&gt; [org.springframework.extensions.webscripts.ScriptProcessorRegistry] [localhost-startStop-1] Registered script processor javascript for extension js&lt;BR /&gt; [org.alfresco.web.site] [http-apr-8080-exec-2] org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.NullPointerException&lt;BR /&gt;java.lang.NullPointerException&lt;BR /&gt; at org.springframework.extensions.surf.mvc.PageViewResolver.canHandle(PageViewResolver.java:91)&lt;BR /&gt; at org.springframework.web.servlet.view.UrlBasedViewResolver.createView(UrlBasedViewResolver.java:395)&lt;BR /&gt; at org.springframework.extensions.webscripts.servlet.mvc.AbstractWebScriptViewResolver.resolveViewName(AbstractWebScriptViewResolver.java:64)&lt;BR /&gt; at org.springframework.web.servlet.DispatcherServlet.resolveViewName(DispatcherServlet.java:1255)&lt;BR /&gt; at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1196)&lt;BR /&gt; at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1001)&lt;BR /&gt; at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:945)&lt;BR /&gt; at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:867)&lt;BR /&gt; at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:951)&lt;BR /&gt; at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:842)&lt;BR /&gt; at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)&lt;BR /&gt; at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:827)&lt;BR /&gt; at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)&lt;BR /&gt; at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)&lt;BR /&gt; at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)&lt;BR /&gt; at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)&lt;BR /&gt; at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)&lt;BR /&gt; at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)&lt;BR /&gt; at org.springframework.extensions.webscripts.servlet.SecurityHeadersFilter.doFilter(SecurityHeadersFilter.java:177)&lt;BR /&gt; at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)&lt;BR /&gt; at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)&lt;BR /&gt; at org.springframework.extensions.webscripts.servlet.CSRFFilter.doFilter(CSRFFilter.java:322)&lt;BR /&gt; at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)&lt;BR /&gt; at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)&lt;BR /&gt; at org.alfresco.web.site.servlet.SSOAuthenticationFilter.doFilter(SSOAuthenticationFilter.java:474)&lt;BR /&gt; at org.alfresco.web.site.servlet.SSOAuthenticationFilter.doFilter(SSOAuthenticationFilter.java:443)&lt;BR /&gt; at org.springframework.extensions.webscripts.servlet.BeanProxyFilter.doFilter(BeanProxyFilter.java:80)&lt;BR /&gt; at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)&lt;BR /&gt; at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)&lt;BR /&gt; at org.alfresco.web.site.servlet.MTAuthenticationFilter.doFilter(MTAuthenticationFilter.java:81)&lt;BR /&gt; at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)&lt;BR /&gt; at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)&lt;BR /&gt; at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)&lt;BR /&gt; at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)&lt;BR /&gt; at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)&lt;BR /&gt; at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)&lt;BR /&gt; at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)&lt;BR /&gt; at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)&lt;BR /&gt; at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)&lt;BR /&gt; at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)&lt;BR /&gt; at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115)&lt;BR /&gt; at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)&lt;BR /&gt; at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2549)&lt;BR /&gt; at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2538)&lt;BR /&gt; at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)&lt;BR /&gt; at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)&lt;BR /&gt; at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)&lt;BR /&gt; at java.lang.Thread.run(Unknown Source)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 11 Feb 2018 14:15:15 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/share-authentication-customization/m-p/64689#M21977</guid>
      <dc:creator>laridev</dc:creator>
      <dc:date>2018-02-11T14:15:15Z</dc:date>
    </item>
    <item>
      <title>Re: Share authentication customization</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/share-authentication-customization/m-p/64690#M21978</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks... with the additional log output, specifically the lines&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;java.lang.NullPointerException&lt;BR /&gt;at org.springframework.extensions.surf.mvc.PageViewResolver.canHandle(PageViewResolver.java:91)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the cause of the issue becomes clear. The class&amp;nbsp;ThreadLocalRequestContext is used to hold the current request in a static ThreadLocal, and for some reason there currently is no context set. The PageViewResolver &lt;A href="https://github.com/Alfresco/surf/blob/dd58b762fa22bdea8f7ba57aa218237a12a748e2/surf/spring-surf/spring-surf/src/main/java/org/springframework/extensions/surf/mvc/PageViewResolver.java#L91" rel="nofollow noopener noreferrer"&gt;accesses that context without doing a null-check first&lt;/A&gt;. The question now is: Why is that context not set (yet)? The code you provided did not provide any insight - in fact, it is too trivial to actually be compatible / useable as a login controller.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Speaking from experience customising the Share authentication, you rarely need a custom login controller. Since Share always talks to a backend via a so-called connector, and that this connector also handles authentication handshakes, it should be sufficient to add custom connector&amp;nbsp;instead of overriding the entire login controller. Of course this is assuming your customisation is aimed at customising the authentication against an Alfresco Repository backend. Or are you trying to integrate with some other type of backend?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 11 Feb 2018 21:34:48 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/share-authentication-customization/m-p/64690#M21978</guid>
      <dc:creator>afaust</dc:creator>
      <dc:date>2018-02-11T21:34:48Z</dc:date>
    </item>
    <item>
      <title>Re: Share authentication customization</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/share-authentication-customization/m-p/64691#M21979</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you for your Reply&lt;/P&gt;&lt;P&gt;So what i need to do is adding &lt;STRONG&gt;some function&lt;/STRONG&gt; that test if a user tries to login 3 times if it fail i want to disable his account using cm&lt;img id="smileytongue" class="emoticon emoticon-smileytongue" src="https://connect.hyland.com/i/smilies/16x16_smiley-tongue.png" alt="Smiley Tongue" title="Smiley Tongue" /&gt;ersion&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Feb 2018 09:07:00 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/share-authentication-customization/m-p/64691#M21979</guid>
      <dc:creator>laridev</dc:creator>
      <dc:date>2018-02-12T09:07:00Z</dc:date>
    </item>
  </channel>
</rss>

