Thursday, November 13, 2014

EBS R12 -- Login flow (java) -- from the programmer's perspective

It is a good thing to know, what happens behind the scenes when you press the login buttom in EBS R12 login screens.. Having the know-how makes you more capable in diagnosing the login problems and also bring you the opportunity to  customize the EBS login process..   Customizing will not be supported by Oracle and it will most likely overwritten by a tech-patch, but it is still good to have the knowledge..

Okay, I 'll briefly write about the login  flow in EBS .
Note that : this flow is tested and verified.

When you press the login button in EBS login screen; the controller of the loginCO in webui package is triggered (oracle.apps.fnd.sso.login.webui.LoginCO)
So , the controller LoginCO passes the contol to the standard servlet, when the login button is pressed.(APPS_VALIDATION_SERVLET)

The servlet is registered with a class in backend. Actually apps_validation_servlet is the function_name and AuthenticateUser class is the servlet here..
select function_name,web_html_call from fnd_form_functions where function_name like '%APPS_VALIDATION_SERVLET%'

Function_name:                              Web_Html_Call
APPS_VALIDATION_SERVLET AuthenticateUser

So AuthenticateUser Web html call is triggered here which actually calls the oracle.apps.fnd.login.AuthenticateUser servlet class..
In other words;  when AuthenticateUser web call is made, oracle.apps.fnd.login.AuthenticateUser class is executed, and this class calls SessionMgr class which in turn calls te SessionManager class and db package for the validation. Validation is made in the db package , and the work is done actually in the fnd_web_sec.validate_login functi─▒on.. and the package returns "Y" to java when the user/pass info is true.. Thus java continues and logs the user in.

To sum up, the login process is as described above.. We have plsql , java and a little web related redirections in the process of login in EBS R12..
Okay.. Lastly, I want to write a few sentences about the customization... This process can be customized using a personalization,  classes which should be extended from the standart java classes and a smooth plsql package.. On the other hand, any amateur customization attempt will be a failure.. Any commented code in standard classes may trigger "invalid session" or "no longer active" errors at any time, so if you want to customize this process, you need to be want you are doing, and you have to support it yourself..

6 comments :

  1. HI imran,for valid user m able to login in to oracle apps for invalid user its giving error saying that request uri is too large

    ReplyDelete
  2. Hi Amit,

    You dont provide any details.
    Without data, only Oracles can know :)
    Anyways, Please open an issue in my forum and attach a screenshot representing the error. Attach apache log and oacore log as well. Also describe any recent changes, State if the issue is on an SSL enabled EBS or not as well.
    http://ermanarslan.blogspot.com.tr/p/forum.html

    ReplyDelete
  3. hI Erman
    Thanks for quick response

    http://hostname:port/OA_HTML/AppsLocalLogin.jsp

    when i paste this url in address bar its giving error saying that uri is too large.
    i didnt changed anything.
    Actually we created custom login page(custom.jsp) by above url it should display custom .jsp page but its giving URI too large error, AND WE ARE USEING WEBLOGIC SERVER.

    ReplyDelete
  4. Hi Anit , Did you read my previous comment?

    I repeat:
    You dont provide any details.
    Anyways, Please open an issue in my forum and attach a screenshot representing the error. Attach apache log and oacore log as well. Also describe any recent changes, State if the issue is on an SSL enabled EBS or not as well.
    My Forum link->"http://ermanarslan.blogspot.com.tr/p/forum.html", create an issue (dont comment)

    ReplyDelete
  5. Hello Erman
    we are useing weblogic server not apache and which error log file should i see and where it is located?
    Thanks

    ReplyDelete
  6. Again:
    My Forum link->"http://ermanarslan.blogspot.com.tr/p/forum.html", create an issue (dont comment)

    ReplyDelete