Anda di halaman 1dari 5

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

First step is URL: http://www.justane a!ple.co!:"#"# $nce %ou t%pe or use %our browser favorites button to navigate to this URL& 1. 'he re(uest goes fro! %our browser& ). 'he na!e www.justane a!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 /01 server. ,. $nce the I* address is obtained& the re(uest travels over '.*/I* protocol on networ2 and connects to port "#"# on which Apache 1erver is running. 3. Apache server then displa%s the $racle Applications Rapid Install *ortal page which has lin2s for Rapid Install 1etup ho!e& Apps Logon lin2s& 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 56 7usiness 8o!e *age and $A9 on the right pane. :. $nce %ou clic2 on the $racle 567usiness 8o!e *age lin2& the re(uest is forwarded b% Apache to ;serv. ;serv sends it to Appslogin servlet <. AppsLogin servlet 'he AppsLogin servlet supercedes older Release 11i login !echanis!s and certain product6specific login pages. 'he AppsLogin servlet detects the login !ode b% reading the =Applications 11$ '%pe= profile option for the current $racle 567usiness 1uite Release 11i instance and transparentl% redirects to the appropriate login page. 1cenario 1: AppsLogin running on a Release 11i instance configured for 1elf61ervice -eb Applications >11-A? will authenticate the user via the AppsLocalLogin.jsp page& and then redirect to the configured ho!e page specified in the 1elf 1ervice *ersonal 8o!e *age !ode profile option.

1cenario ): AppsLogin running on a Release 11i instance configured for 1ingle 1ign6$n will redirect to the 1ingle 1ign6$n 1#g login page for user authentication& and then redirect to the configured ho!e page specified in the 1elf 1ervice *ersonal 8o!e *age !ode profile option. 1cenario ,: AppsLogin running on a Release 11i instance configured for 1ingle 1ign6$n and *ortal will redirect to 1ingle 1ign6$n 1#g login page for user authentication& and then redirect to the default *ortal ho!e page. /oa@servlets/Appslogin servlet Aets -ebApps.$nte t 1ets re(uestURL B A**18$95*AA5 unless passed as a para!eter. 1ets cancelUrl B oracle.apps.fnd.sso.11$9anager.getLoginUrl>?C unless passed as a para!eter. 'his finds profile option A**1@15RDL5'@AA50' >Apps 1ervlet Agent? and returns error if it cannot get this profile option. 1ets variable =url= using oracle.apps.fnd.sso.11$9anager.getLoginRedirectUrl sets 9ode using Utils.get11$9ode>? which gets profile option A**1@11$ >Applications 11$ '%pe? 11-A is set b% default if not profile option. /epending on !ode& sets url B L$.AL@L$AI0 E 11$@L$AI0@R5/IR5.' E *$R'AL if 11-A B 11$Util.getLocalLoginUrl>? 'his gets profile option A**1@L$.AL@L$AI0@URL >Applications Local Login URL? >AppsLocalLogin.jsp for e a!ple? and prepends F/$A@8'9L/F if *$R'AL B 11$Util.get*ortalUrl>? 'his gets profile option A**1@*$R'AL >Applications *ortal? 'his is full URL nor!all% pointing to /pls/GGG@portal,#/portal,#.ho!e 'hen calls =constructUrl= to deter!ine the URL to return& which builds URL consisting of url& re(uestURL& cancelURL& err.ode& lang.ode& err'e t and ho!e@url para!eters If =url= is null& then returns F0/6HH,# error code& otherwise will redirect to the constructed URL At this point& we have got as far as rendering the Userna!e/*Assword entr% screen... /$A@8'9L/AppsLocalLogin.jsp or portal,#.ho!e /$A@8'9L/AppsLocalLogin.jsp Aets *rofile options F0/@7RA0/I0A@1II5 >F0/: 7randing 1iJe? and I.G@LA0AUAA5 >I.G: Language? 1ets up so!e !essage te t >9essage.class? Uses *ac2age F0/@9511AA5.A5'@9511AA5@I0'5R0AL >?

$nce we clic2 =Login= button we follow through as below:6 fndvald.jsp Utils.get.onnection>? 6 this throws F0/6HH#) if cannot get /7 connection. 1ession9gr.createApps1ession which itself calls wct .get1ession9anager>?.validateLogin followed b% create1ession if userna!e.password validated $K. 'here is so!e 1'A'5950' level diagnostics !essages fro! here >for oracle.apps.fnd.sso.1ession9gr? Aets .oo2ie na!e fro! dbc file I.G@.$$KI5@0A95 or otherwise calls pac2age F0/@1511I$0@9A0AA5950'.getsessioncoo2iena!e .reates 11$ .oo2ie for new user session If re(uestURL B A**18$95*AA5 it calls 11$Util.get8o!e*age otherwise just passes re(uestURL through... 'his calls co!puteURL& which loo2s for profile option A**LI.A'I$01@8$95@*AA5 >1elf 1ervice *ersonal 8o!e *age !ode? Runs get5nv1toreH#.get5nv>I.G@*D@1511I$0@9$/5? which I dont understand... but see!s to be 114* E 114; L If A**LI.A'I$01@8$95@*AA5 B =*8*= or =*8*@F-K= then will set URL B *L1ML@AA50'/$racle0avigate.Responsibilit% else >for e a!ple =F-K=? will set URL B =/$A@8'9L/$A.jspL $AFuncB$A8$95*AA5NdbcB= O AppsAgent.get/7.>? $A.jsp oracle.apps.fnd.fra!ewor2.webui.$A*age7ean.class oracle.apps.fnd.fra!ewor2.webui.$A;1*8elper Uses $A;1*8elper to set character encoding for the session& !ainl% b% getting I.G@.LI50'@IA0A@50.$/I0A >I.G: .lient IA0A 5ncoding? profile option 'hen sets redirectURL B page7ean.prepare*age 1ets flag for *ortlet or not 1ets function0a!e fro! the para!eters in the URL >$A8$95*AA5 for e a!ple& if URL para! is L$AFuncB$A8$95*AA5? 1ets redirectURL B prepare*age>? !ethod... this calls =redirectURL B validateUser>?= 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*age.onte tI!pl.createRFURL -hich calls Function1ecurit%.getFunction and Function.getFunction...

'his bit runs 1ML to find FunctionI/ =select function@id fro! fnd@for!@functions where function@na!e B :1= 'hen =select function@na!e& conte t@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*AA5 the following will be set web@ht!l@call B =$A.jspL pageB/oracle/apps/fnd/fra!ewor2/navigate/webui/8o!e*ANho!e*ag eBPN$A*7BF-K@8$95*AA5@7RA0/= t%pe B =;1*= is$AF.all is set to 'RU5 >as the URL has $A.jsp in the URL? func.all B web@ht!l@call has'ransactionId B FAL15 so adds =NtransactionidB = to the funccall then returns this as the new 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.jspL pageB/oracle/apps/fnd/fra!ewor2/navigate/webui/8o!e*ANho!e*ag eBPN$A*7BF-K@8$95*AA5@7RA0/NtransactionidB 7ac2 into =redirectURL B page7ean.prepare*age>?= region.ode B $A*age.onte tI!pl.getUrl*ara!eter>re(uest& =page=? >pageB/oracle/apps/fnd/fra!ewor2/navigate/webui/8o!e*A? //Aet the application !odule java class fro! AK. $AApplication9odule staticApp9od B $A;1*ApplicationRegistr%.get1taticAKApplication9odule>!Re(uest?C 'his creates A9 called =oracle.apps.fnd.fra!ewor2.server.$AApplication9odule= with /7 connection. .reates 9/1 conte t& see!s to have handles to 9/1 repositor%. Aets page region& using -eb7ean'%pe/ata& fro! 9/1 repositor%. Aets transaction@I/ Aet profile option =F0/@F$R.5@*AA5@R5FR518= Aet profile option =F0/@.U1'$9@$A@/5FI0'I$0=

portal,# 8$95 procedure /oes a owa@util.redirect@url to wwpob@page@util.get@page@url >wrapped *L1ML?

.hec2 versions ;ava >adident 8eader Q$A@;ADA/? oracle/apps/fnd/sso/AppsLogin.class oracle/apps/fnd/sso/11$9anager.class oracle/apps/fnd/sso/Utils.class oracle/apps/fnd/sso/11$Util.class oracle/apps/fnd/co!!on/9essage.class oracle/apps/fnd/sso/1ession9gr.class oracle/apps/fnd/co!!on/-ebApps.onte t.class oracle/apps/fnd/fra!ewor2/webui/$A*age7ean.class oracle/apps/fnd/fra!ewor2/webui/$A;1*8elper.class oracle/apps/fnd/fra!ewor2/webui/$A-eb7ean.onstants.class oracle/apps/fnd/fra!ewor2/webui/$A*age.onte tI!pl.class oracle/apps/fnd/fra!ewor2/$AFw2.onstants.class oracle/apps/fnd/function1ecurit%/Function.class oracle/apps/fnd/fra!ewor2/!ds/$A9/1.onte tUtils.class ;1* >adident 8eader Q$A@8'9L/? AppsLocalLogin.jsp fndvald.jsp $A.jsp

Anda mungkin juga menyukai