I have to ask a question; Why not use a filter to handle this? The filter will be called before any components of struts are invoked. It has access to the request, response and session and can handle forwarding the request to the login page or error page if they are not currently logged in. If container managed security is used, it will get invoked prior to the filter, which can then check the getRemoteUser() and the session to ensure that they have been logged in and perform any setup that is required for creating a user object and storing the information in the session or wherever. The filter can then chain to the requested page with the chain.doFilter().
Any reason not to do this? Todd -----Original Message----- From: Galbreath, Mark [mailto:[EMAIL PROTECTED]] Sent: Tuesday, June 04, 2002 7:56 AM To: 'Struts Users Mailing List' Subject: RE: related to: Re: #2 - Use DispatchAction to organize related operations Chuck is absolutely correct on the linear progression of action processing. I, too am overriding processPreprocess and it works beautifully. Besides increasing security, it cuts down on unnecessary CPU bandwidth. Mark -----Original Message----- From: Chuck Cavaness [mailto:[EMAIL PROTECTED]] Sent: Monday, June 03, 2002 10:58 PM Rick, catch this earlier. I had implemented something along these lines awhile back and soon remembered that the ActionForm is populated and the validate() method is called, all of this before the Action's execute() method is invoked. The question is, do you want to check whether or not the What I suggest is to look at the processPreprocess() method in the RequestProcessor and possibly override this to do your checks. It's called Just some things to think about, Chuck -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> begin 666 ATT00021.htm M/"%$3T-465!%($A434P@4%5"3$E#("(M+R]7,T,O+T141"!(5$U,(#,N,B\O M14XB/@T*/$A434P^#0H\2$5!1#X-"CQ-151!($A45% M15%5258](D-O;G1E M;G0M5'EP92(@0T].5$5.5#TB=&5X="]H=&UL.R!C:&%R<V5T/5=I;F1O=W,M M,3(U,B(^#0H\345402!.04U%/2)'96YE<F%T;W(B($-/3E1%3E0](DU3($5X M8VAA;F=E(%-E<G9E<B!V97)S:6]N(#8N,"XU-S8R+C,B/@T*/%1)5$Q%/E)% M.B!R96QA=&5D('1O.B!293H@(",R("T@57-E($1I<W!A=&-H06-T:6]N('1O M(&]R9V%N:7IE(')E;&%T960@;W!E<F%T:6]N<SPO5$E43$4^#0H\+TA%040^ M#0H\0D]$63X-"CPA+2T@0V]N=F5R=&5D(&9R;VT@=&5X="]P;&%I;B!F;W)M M870@+2T^#0H-"CQ0/CQ&3TY4(%-)6D4],CY)(&AA=F4@=&\@87-K(&$@<75E M<W1I;VX[)FYB<W [(%=H>2!N;W0@=7-E(&$@9FEL=&5R('1O(&AA;F1L92!T M:&ES/R9N8G-P.R!4:&4@9FEL=&5R('=I;&P@8F4@8V%L;&5D(&)E9F]R92!A M;GD@8V]M<&]N96YT<R!O9B!S=')U=',@87)E(&EN=F]K960N)FYB<W [($ET M(&AA<R!A8V-E<W,@=&\@=&AE(')E<75E<W0L(')E<W!O;G-E(&%N9"!S97-S M:6]N(&%N9"!C86X@:&%N9&QE(&9O<G=A<F1I;F<@=&AE(')E<75E<W0@=&\@ M=&AE(&QO9VEN('!A9V4@;W(@97)R;W(@<&%G92!I9B!T:&5Y(&%R92!N;W0@ M8W5R<F5N=&QY(&QO9V=E9"!I;BXF;F)S<#L@268@8V]N=&%I;F5R(&UA;F%G M960@<V5C=7)I='D@:7,@=7-E9"P@:70@=VEL;"!G970@:6YV;VME9"!P<FEO M<B!T;R!T:&4@9FEL=&5R+"!W:&EC:"!C86X@=&AE;B!C:&5C:R!T:&4@9V5T M4F5M;W1E57-E<B@I(&%N9"!T:&4@<V5S<VEO;B!T;R!E;G-U<F4@=&AA="!T M:&5Y(&AA=F4@8F5E;B!L;V=G960@:6X@86YD('!E<F9O<FT@86YY('-E='5P M('1H870@:7,@<F5Q=6ER960@9F]R(&-R96%T:6YG(&$@=7-E<B!O8FIE8W0@ M86YD('-T;W)I;F<@=&AE(&EN9F]R;6%T:6]N(&EN('1H92!S97-S:6]N(&]R M('=H97)E=F5R+B9N8G-P.R!4:&4@9FEL=&5R(&-A;B!T:&5N(&-H86EN('1O M('1H92!R97%U97-T960@<&%G92!W:71H('1H92!C:&%I;BYD;T9I;'1E<B@I M+CPO1D].5#X\+U ^#0H-"CQ0/CQ&3TY4(%-)6D4],CY!;GD@<F5A<V]N(&YO M="!T;R!D;R!T:&ES/SPO1D].5#X-"CPO4#X-"@T*/% ^/$9/3E0@4TE:13TR M/E1O9&0\+T9/3E0^#0H\+U ^#0H-"CQ0/CQ&3TY4(%-)6D4],CXM+2TM+4]R M:6=I;F%L($UE<W-A9V4M+2TM+3PO1D].5#X-"@T*/$)2/CQ&3TY4(%-)6D4] M,CY&<F]M.B!'86QB<F5A=&@L($UA<FL@6SQ!($A2148](FUA:6QT;SI'86QB M<F5A=&A =&5S<V-O+F-O;2(^;6%I;'1O.D=A;&)R96%T:$!T97-S8V\N8V]M M/"]!/ET\+T9/3E0^#0H-"CQ"4CX\1D].5"!325I%/3(^4V5N=#H@5'5E<V1A M>2P@2G5N92 P-"P@,C P,B W.C4V($%-/"]&3TY4/@T*#0H\0E(^/$9/3E0@ M4TE:13TR/E1O.B G4W1R=71S(%5S97)S($UA:6QI;F<@3&ES="<\+T9/3E0^ M#0H-"CQ"4CX\1D].5"!325I%/3(^4W5B:F5C=#H@4D4Z(')E;&%T960@=&\Z M(%)E.B C,B M(%5S92!$:7-P871C:$%C=&EO;B!T;R!O<F=A;FEZ92!R96QA M=&5D/"]&3TY4/@T*#0H\0E(^/$9/3E0@4TE:13TR/F]P97)A=&EO;G,\+T9/ M3E0^#0H\+U ^#0H\0E(^#0H-"CQ0/CQ&3TY4(%-)6D4],CY#:'5C:R!I<R!A M8G-O;'5T96QY(&-O<G)E8W0@;VX@=&AE(&QI;F5A<B!P<F]G<F5S<VEO;B!O M9B!A8W1I;VX@<')O8V5S<VEN9RX\+T9/3E0^#0H-"CQ"4CX\1D].5"!325I% M/3(^22P@=&]O(&%M(&]V97)R:61I;F<@<')O8V5S<U!R97!R;V-E<W,@86YD M(&ET('=O<FMS(&)E875T:69U;&QY+B9N8G-P.R!"97-I9&5S/"]&3TY4/@T* M#0H\0E(^/$9/3E0@4TE:13TR/FEN8W)E87-I;F<@<V5C=7)I='DL(&ET(&-U M=',@9&]W;B!O;B!U;FYE8V5S<V%R>2!#4%4@8F%N9'=I9'1H+CPO1D].5#X- M"CPO4#X-"@T*/% ^/$9/3E0@4TE:13TR/DUA<FL\+T9/3E0^#0H\+U ^#0H- M"CQ0/CQ&3TY4(%-)6D4],CXM+2TM+4]R:6=I;F%L($UE<W-A9V4M+2TM+3PO M1D].5#X-"@T*/$)2/CQ&3TY4(%-)6D4],CY&<F]M.B!#:'5C:R!#879A;F5S M<R!;/$$@2%)%1CTB;6%I;'1O.F-H=6-K8V%V86YE<W- 871T8FDN8V]M(CYM M86EL=&\Z8VAU8VMC879A;F5S<T!A='1B:2YC;VT\+T$^73PO1D].5#X-"@T* M/$)2/CQ&3TY4(%-)6D4],CY396YT.B!-;VYD87DL($IU;F4@,#,L(#(P,#(@ M,3 Z-3@@4$T\+T9/3E0^#0H\+U ^#0H-"CQ0/CQ&3TY4(%-)6D4],CY2:6-K M+#PO1D].5#X-"CPO4#X-"@T*/% ^/$9/3E0@4TE:13TR/F-A=&-H('1H:7,@ M96%R;&EE<BX@22!H860@:6UP;&5M96YT960@<V]M971H:6YG(&%L;VYG('1H M97-E(&QI;F5S(&%W:&EL92 \+T9/3E0^#0H-"CQ"4CX\1D].5"!325I%/3(^ M8F%C:R!A;F0@<V]O;B!R96UE;6)E<F5D('1H870@=&AE($%C=&EO;D9O<FT@ M:7,@<&]P=6QA=&5D(&%N9"!T:&4@/"]&3TY4/@T*#0H\0E(^/$9/3E0@4TE: M13TR/G9A;&ED871E*"D@;65T:&]D(&ES(&-A;&QE9"P@86QL(&]F('1H:7,@ M8F5F;W)E('1H92!!8W1I;VXG<R!E>&5C=71E*"D@/"]&3TY4/@T*#0H\0E(^ M/$9/3E0@4TE:13TR/FUE=&AO9"!I<R!I;G9O:V5D+B!4:&4@<75E<W1I;VX@ M:7,L(&1O('EO=2!W86YT('1O(&-H96-K('=H971H97(@;W(@;F]T('1H92 \ M+T9/3E0^#0H\+U ^#0H-"CQ0/CQ&3TY4(%-)6D4],CY7:&%T($D@<W5G9V5S M="!I<R!T;R!L;V]K(&%T('1H92!P<F]C97-S4')E<')O8V5S<R@I(&UE=&AO M9"!I;B!T:&4@/"]&3TY4/@T*#0H\0E(^/$9/3E0@4TE:13TR/E)E<75E<W10 M<F]C97-S;W(@86YD('!O<W-I8FQY(&]V97)R:61E('1H:7,@=&\@9&\@>6]U M<B!C:&5C:W,N($ET)W,@8V%L;&5D(#PO1D].5#X-"CPO4#X-"@T*/% ^/$9/ M3E0@4TE:13TR/DIU<W0@<V]M92!T:&EN9W,@=&\@=&AI;FL@86)O=70L/"]& M3TY4/@T*#0H\0E(^/$9/3E0@4TE:13TR/D-H=6-K/"]&3TY4/@T*/"]0/@T* M#0H\4#X\1D].5"!325I%/3(^+2T\+T9/3E0^#0H-"CQ"4CX\1D].5"!325I% M/3(^5&\@=6YS=6)S8W)I8F4L(&4M;6%I;#HF;F)S<#LF;F)S<#L@)FQT.SQ! M($A2148](FUA:6QT;SIS=')U=',M=7-E<BUU;G-U8G-C<FEB94!J86MA<G1A M+F%P86-H92YO<F<B/FUA:6QT;SIS=')U=',M=7-E<BUU;G-U8G-C<FEB94!J M86MA<G1A+F%P86-H92YO<F<\+T$^)F=T.SPO1D].5#X-"@T*/$)2/CQ&3TY4 M(%-)6D4],CY&;W(@861D:71I;VYA;"!C;VUM86YD<[EMAIL PROTECTED] F;'0[ M/$$@2%)%1CTB;6%I;'1O.G-T<G5T<RUU<V5R+6AE;'! :F%K87)T82YA<&%C M:&4N;W)G(CYM86EL=&\Z<W1R=71S+75S97(M:&5L<$!J86MA<G1A+F%P86-H M92YO<F<\+T$^)F=T.SPO1D].5#X-"CPO4#X-"@T*/"]"3T19/@T*/"](5$U, !/@`` ` end -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>