<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <title>Login process customize</title>
  <link rel="self" href="https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=113295520" />
  <subtitle>Login process customize</subtitle>
  <id>https://liferay.dev/c/message_boards/find_thread?p_l_id=119785294&amp;threadId=113295520</id>
  <updated>2026-04-06T11:50:48Z</updated>
  <dc:date>2026-04-06T11:50:48Z</dc:date>
  <entry>
    <title>RE: Login process customize</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=113308994" />
    <author>
      <name>Andrew Jardine</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=113308994</id>
    <updated>2019-04-19T17:20:39Z</updated>
    <published>2019-04-19T17:20:39Z</published>
    <summary type="html">&lt;html&gt;&lt;head&gt;&lt;/head&gt;&lt;body&gt;I wonder if you could override the service with a higher ranking --&lt;pre&gt;&lt;code&gt;@Component(
   immediate = true, property = "key=auth.pipeline.pre",
   service = Authenticator.class
)
public class LDAPAuth implements Authenticator {&lt;/code&gt;&lt;/pre&gt;&lt;br&gt;.. this way you could implement your own logic when the process failed. The only thing is that, at least from my experience, sometimes I have tried this only to find that there are some internal classes that I can't access. There are tricks to get around this scenarion (David Nebinger wrote a great blog post outlining one way to do it) -- but looking at the import statements in that class, I don't actually see any explicit "internal" package references.&amp;nbsp;&lt;br&gt;&lt;br&gt;NOTE: According to the docs (in the portal.properties), the auth.pipeline.post is actually depracated and doesn't seem to be used anymore.&lt;/body&gt;&lt;/html&gt;</summary>
    <dc:creator>Andrew Jardine</dc:creator>
    <dc:date>2019-04-19T17:20:39Z</dc:date>
  </entry>
  <entry>
    <title>RE: Login process customize</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=113301354" />
    <author>
      <name>Christoph Rabel</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=113301354</id>
    <updated>2019-04-19T13:42:01Z</updated>
    <published>2019-04-19T13:42:01Z</published>
    <summary type="html">Workaround idea: Can&amp;#39;t you simply set the Liferay password for users from ldap to something secret (really long and random)? Then ldap users can only authenticate through ldap.</summary>
    <dc:creator>Christoph Rabel</dc:creator>
    <dc:date>2019-04-19T13:42:01Z</dc:date>
  </entry>
  <entry>
    <title>RE: Login process customize</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=113299962" />
    <author>
      <name>Deepak Panda</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=113299962</id>
    <updated>2019-04-19T13:15:18Z</updated>
    <published>2019-04-19T13:15:18Z</published>
    <summary type="html"> Hi Christoph,&lt;br /&gt;I have already tried it through provided URL.&lt;br /&gt;&lt;br /&gt;Actually my problem is, I have two type of user in liferay database.&lt;br /&gt;1) LDAP imported, 2) Manually created from admin&lt;br /&gt;&lt;br /&gt;I want to authenticate in one way, means, if user exist in ldpa(connected to AD) and password failed, than no need to call &amp;#34;auth.pipeline.post&amp;#34;.&lt;br /&gt;If user not in ldap, than to call &amp;#34;auth.pipeline.post&amp;#34;, which is my own custom authentication class.&lt;br /&gt;&lt;br /&gt;Currently, what happend, if user failed from LDAP, than it again try to authenticate it from database through &amp;#34;auth.pipeline.post&amp;#34; and login successfully.</summary>
    <dc:creator>Deepak Panda</dc:creator>
    <dc:date>2019-04-19T13:15:18Z</dc:date>
  </entry>
  <entry>
    <title>RE: Login process customize</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=113297535" />
    <author>
      <name>Christoph Rabel</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=113297535</id>
    <updated>2019-04-19T12:23:32Z</updated>
    <published>2019-04-19T12:23:32Z</published>
    <summary type="html">You probably need to implement your own authenticator:&lt;br /&gt;https://dev.liferay.com/en/develop/tutorials/-/knowledge_base/7-0/authentication-pipelines</summary>
    <dc:creator>Christoph Rabel</dc:creator>
    <dc:date>2019-04-19T12:23:32Z</dc:date>
  </entry>
  <entry>
    <title>Login process customize</title>
    <link rel="alternate" href="https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=113295519" />
    <author>
      <name>Deepak Panda</name>
    </author>
    <id>https://liferay.dev/c/message_boards/find_message?p_l_id=119785294&amp;messageId=113295519</id>
    <updated>2019-04-19T10:34:06Z</updated>
    <published>2019-04-19T10:34:06Z</published>
    <summary type="html">Hi,&lt;br /&gt;&lt;br /&gt;I am using liferay 7.1 in my project, where user authenticate through LDAP. But I need to authenticate user on with condition.&lt;br /&gt;&lt;br /&gt;1) First user authenticate with LDAP. (Which I have already done)&lt;br /&gt;2) If user authetication failed from LDAP, than custom login class called where user authenticate from liferay database with some condition.&lt;br /&gt;&lt;br /&gt;Kindly help me to find any solution on it.</summary>
    <dc:creator>Deepak Panda</dc:creator>
    <dc:date>2019-04-19T10:34:06Z</dc:date>
  </entry>
</feed>
