Apps 11i Login Flow

Embed Size (px)

Citation preview

  • 7/27/2019 Apps 11i Login Flow

    1/5

    Apps 11i login flow

    I have tried to bisect the login flow of Apps 11i here.

    First step is URL: http://www.justanea!ple.co!:"#"#

    $nce %ou t%pe or use %our browser favorites button to navigate to thisURL&

    1. 'he re(uest goes fro! %our browser&

    ). 'he na!e www.justanea!ple.co! is resolved to an I*& first b%referring to c:+windows+s%ste!,)+drivers+etc+hosts file on %our-indows *& and then b% (uer%ing the 0 server.

    ,. $nce the I* address is obtained& the re(uest travels over '*/I*protocol on networ2 and connects to port "#"# on which Apacheerver is running.

    3. Apache server then displa%s the $racle Applications Rapid Install*ortal page which has lin2s for Rapid Install etup ho!e& Apps Logonlin2s& 11i online help& and !achine ad!in scripts on the left sidebar.

    4. -hen %ou clic2 on Apps Logon lin2s& it shows lin2s for $racle 567usiness 8o!e *age and $A9 on the right pane.

    . $nce %ou clic2 on the $racle 567usiness 8o!e *age lin2& there(uest is forwarded b% Apache to ;serv. ;serv sends it to Appsloginservlet

  • 7/27/2019 Apps 11i Login Flow

    2/5

    cenario ): AppsLogin running on a Release 11i instance configuredfor ingle ign6$n will redirect to the ingle ign6$n 1#g login pagefor user authentication& and then redirect to the configured ho!e pagespecified in the elf ervice *ersonal 8o!e *age !ode profile option.cenario ,: AppsLogin running on a Release 11i instance configured

    for ingle ign6$n and *ortal will redirect to ingle ign6$n 1#g loginpage for user authentication& and then redirect to the default *ortalho!e page.

    /oa@servlets/Appslogin servletets -ebApps$ntetets re(uestURL B A**8$95*A5 unless passed as a para!eter.ets cancelUrl B oracle.apps.fnd.sso.$9anager.getLoginUrl>?Cunless passed as a para!eter.'his finds profile option A**@5RDL5'@A50' >Apps ervlet Agent?and returns error if it cannot get this profile option.ets variable =url= usingoracle.apps.fnd.sso.$9anager.getLoginRedirectUrlsets 9ode using Utils.get$9ode>?which gets profile option A**@$ >Applications $ '%pe? -A isset b% default if not profile option.epending on !ode& sets url B L$AL@L$I0 E$@L$I0@R5IR5' E *$R'ALif -A B $Util.getLocalLoginUrl>?'his gets profile option A**@L$AL@L$I0@URL >Applications Local

    Login URL? >AppsLocalLogin.jsp for ea!ple? and prepends/$A@8'9L/if *$R'AL B $Util.get*ortalUrl>?'his gets profile option A**@*$R'AL >Applications *ortal? 'his is fullURL nor!all% pointing to /pls/GGG@portal,#/portal,#.ho!e'hen calls =constructUrl= to deter!ine the URL to return& which buildsURL consisting of url& re(uestURL& cancelURL& errode& langode&err'et and ho!e@url para!etersIf =url= is null& then returns F06HH,# error code& otherwise willredirect to the constructed URL

    At this point& we have got as far as rendering the Userna!e/*Asswordentr% screen... /$A@8'9L/AppsLocalLogin.jsp or portal,#.ho!e

    /$A@8'9L/AppsLocalLogin.jspets *rofile options F0@7RA0I0@I5 >F0: 7randing iJe? andIG@LA0UA5 >IG: Language?ets up so!e !essage tet >9essage.class? Uses *[email protected]'@95A5@I0'5R0AL >?

  • 7/27/2019 Apps 11i Login Flow

    3/5

    $nce we clic2 =Login= button we follow through as below:6

    fndvald.jspUtils.getonnection>? 6 this throws F06HH#) if cannot get 7

    connection.ession9gr.createAppsession which itself callswct.getession9anager>?.validateLogin followed b% createession ifuserna!e.password validated $K.'here is so!e 'A'5950' level diagnostics !essages fro! here >fororacle.apps.fnd.sso.ession9gr?ets oo2ie na!e fro! dbc file IG@$$KI5@0A95 or otherwise callspac2age F0@5I$0@9A0A5950'.getsessioncoo2iena!ereates $ oo2ie for new user sessionIf re(uestURL B A**8$95*A5 it calls $Util.get8o!e*ageotherwise just passes re(uestURL through...'his calls co!puteURL& which loo2s for profile optionA**LIA'I$0@8$95@*A5 >elf ervice *ersonal 8o!e *age !ode?Runs get5nvtoreH#.get5nv>IG@*D@5I$0@9$5? which I dontunderstand... but see!s to be 114* E 114; If A**LIA'I$0@8$95@*A5 B =*8*= or =*8*@F-K= then will setURL B *LML@A50'/$racle0avigate.Responsibilit%else >for ea!ple =F-K=? will set URL B =/$A@8'9L/$A.jsp$AFuncB$A8$95*A5NdbcB= O AppsAgent.get7>?

    $A.jsporacle.apps.fnd.fra!ewor2.webui.$A*age7ean.classoracle.apps.fnd.fra!ewor2.webui.$A;*8elperUses $A;*8elper to set character encoding for the session& !ainl% b%getting IG@LI50'@IA0A@50$I0 >IG: lient IA0A 5ncoding?profile option'hen sets redirectURL B page7ean.prepare*ageets flag for *ortlet or notets function0a!e fro! the para!eters in the URL >$A8$95*A5 forea!ple& if URL para! is $AFuncB$A8$95*A5?

    ets redirectURL B prepare*age>? !ethod... this calls =redirectURL BvalidateUser>?= but I thin2 this should return null if I have logged in>this see!s to be to do with boo2!ar2able URLs?sets funcURL B createRFURL>?'his does so!e session validation& then calls$A*ageontetI!pl.createRFURL-hich calls Functionecurit%.getFunction and Function.getFunction...

  • 7/27/2019 Apps 11i Login Flow

    4/5

    'his bit runs ML to find FunctionI =select function@id fro!fnd@for!@functions where function@na!e B :1='hen =select function@na!e& contet@dependence&!aintenance@!ode@support& para!eters& t%pe& web@agent@na!e&web@host@na!e& web@ht!l@call& web@icon& for!@id fro!

    fnd@for!@functions where function@id B :1=For $A8$95*A5 the following will be setweb@ht!l@call B =$A.jsppageB/oracle/apps/fnd/fra!ewor2/navigate/webui/8o!e*Nho!e*ageBPN$A*7BF-K@8$95*A5@7RA0=t%pe B =;*=is$AFall is set to 'RU5 >as the URL has $A.jsp in the URL?funcall B web@ht!l@callhas'ransactionId B FAL5so adds =NtransactionidB= to the funccall then returns this as thenew url'his new URL is returned to $A.jsp as the redirectURL& so we call$A.jsp with so!e different para!eters.....

    7% now& we should have URL so!ething li2e:$A.jsppageB/oracle/apps/fnd/fra!ewor2/navigate/webui/8o!e*Nho!e*ageBPN$A*7BF-K@8$95*A5@7RA0NtransactionidB7ac2 into =redirectURL B page7ean.prepare*age>?=regionode B $A*ageontetI!pl.getUrl*ara!eter>re(uest& =page=?>pageB/oracle/apps/fnd/fra!ewor2/navigate/webui/8o!e*?

    //et the application !odule java class fro! AK.$AApplication9odule staticApp9od B$A;*ApplicationRegistr%.gettaticAKApplication9odule>!Re(uest?C'his creates A9 called=oracle.apps.fnd.fra!ewor2.server.$AApplication9odule= with 7connection.reates 9 contet& see!s to have handles to 9 repositor%.ets page region& using -eb7ean'%peata& fro! 9 repositor%.ets transaction@Iet profile option =F0@F$R5@*A5@R5FR58=

    et profile option =F0@U'$9@$A@5FI0'I$0=

    portal,# 8$95 procedureoes a [email protected]@url to wwpob@[email protected]@page@url>wrapped *LML?

  • 7/27/2019 Apps 11i Login Flow

    5/5

    hec2 versions;ava>adident 8eader Q$A@;ADA/?

    oracle/apps/fnd/sso/AppsLogin.classoracle/apps/fnd/sso/$9anager.classoracle/apps/fnd/sso/Utils.classoracle/apps/fnd/sso/$Util.classoracle/apps/fnd/co!!on/9essage.classoracle/apps/fnd/sso/ession9gr.classoracle/apps/fnd/co!!on/-ebAppsontet.classoracle/apps/fnd/fra!ewor2/webui/$A*age7ean.classoracle/apps/fnd/fra!ewor2/webui/$A;*8elper.classoracle/apps/fnd/fra!ewor2/webui/$A-eb7eanonstants.classoracle/apps/fnd/fra!ewor2/webui/$A*ageontetI!pl.classoracle/apps/fnd/fra!ewor2/$AFw2onstants.classoracle/apps/fnd/functionecurit%/Function.class

    oracle/apps/fnd/fra!ewor2/!ds/$A9ontetUtils.class

    ;*>adident 8eader Q$A@8'9L/?AppsLocalLogin.jspfndvald.jsp

    $A.jsp