Nimer,
Thanks for your help! I'm a big fan of your books btw!
So i tried to put your CFLOGIN code in play, but i can still get to the
main a pplication. Wouldn't the CFLOGIN have to within the IF statement?
Becuase if the user isn't found in the database then there is no need to
set CFLOGIN at all right? Also, i think what i get confused with flex is
with events. If my auth.cfc method login sends a value of FALSE as the
return value, then wouldn't my on Fault event come into play? Or would
it just be the Result variable? If so, wouldn't i have to put a more
detialed if statment within the login_result function of Login.mxml?

Here is the code from that file:
<?xml version="1.0" encoding="utf-8"?>

<mx:Form xmlns:mx="http://www.adobe.com/2006/mxml";  xmlns="*"
width="100%" height="100%" creationComplete="initApp()">

     <mx:Metadata>
        [Event("forgotpassword")]
        [Event("loginSuccessful")]
     </mx:Metadata>

     <mx:Script>
         <![CDATA[
             import mx.events.ValidationResultEvent;
             import mx.rpc.events.ResultEvent;
             import mx.rpc.events.FaultEvent;
             import mx.utils.ObjectUtil;
             import mx.controls.Alert;


             private var lso:SharedObject;

             private function initApp():void
             {
                 this.lso = SharedObject.getLocal("auth");

                 if( this.lso.data['user'] != null )
                 {
                     this.user.text = this.lso.data['user'];
                     this.rememberLogin.selected = true;
                 }
                 if( this.lso.data['password'] != null )
                 {
                     this.password.text = this.lso.data['password'];
                     this.rememberLogin.selected = true;
                 }
             }

             private function isValid():Boolean
             {
                 var pswdValidResult:ValidationResultEvent =
this.pswdValidate.validate(this.password.text);

                 if (pswdValidResult.type==ValidationResultEvent.VALID)
                 {
                     return true;
                 }
                 else
                 {
                     return false;
                 }

             }


             private function authenticateUser():void
             {
                 if( isValid() )
                    {
                     authManager.login( this.user.text,
this.password.text );
                  }
             }

             private function errorMessage(msg:String):void
             {
                 //Alert.show( ObjectUtil.toString(event.message) );
                 this.errorMsg.text = msg;
                 this.errorMsg.height = 15;
                 this.errorMsg.visible = true;
             }

             private function serverFault(event:FaultEvent):void
             {
                 errorMessage(event.message['message']);
             }



             private function login_result(event:ResultEvent):void
             {
                 // login successful, remember the user.
                 if( Boolean(event.result))
                 {
                     if( this.rememberLogin.selected )
                     {
                         this.lso.data['user'] = this.user.text;
                         this.lso.data['password'] = this.password.text;
                     }
                     else
                     {
                         this.lso.data['user'] = null;
                         this.lso.data['password'] = null;
                     }

                     this.dispatchEvent( new Event('loginSuccessful') );
                 }
                 else
                 {
                     // login didn't work. show message
                     errorMessage("Login unsuccessful");
                 }
             }
         ]]>
     </mx:Script>

     <mx:RemoteObject
         id="authManager"
         destination="ColdFusion"
        
source="Tiomkin.Tiomkin_Admin.components.cfgenerated.managers.Auth"
         showBusyCursor="true">
        <mx:method name="login" result="login_result(event)"
fault="serverFault(event)" />
     </mx:RemoteObject>

     <mx:StringValidator
         id="pswdValidate"
         source="{this.password}"
         property="text"
         required="true" />

     <mx:Text id="errorMsg" visible="true"
         color="red" width="100%" height="0" />

      <mx:FormItem width="100%" label="User Name" required="true">
         <mx:TextInput id="user"
             width="175"/>
     </mx:FormItem>
     <mx:FormItem width="100%" label="Password" required="true">
         <mx:TextInput id="password"
             displayAsPassword="true"
             width="175"/>
     </mx:FormItem>
     <mx:FormItem>
         <mx:CheckBox id="rememberLogin"
             label="Remember Login"
             selected="false" />
     </mx:FormItem>

     <mx:VBox width="100%" horizontalAlign="right">
         <mx:Button label="Login" click="authenticateUser();"/>
         <mx:LinkButton label="Forgot Password?"
             click="this.dispatchEvent(new Event('forgotpassword'));"
             fontStyle="italic" width="150"  textAlign="right"/>
     </mx:VBox>

</mx:Form>


So should there be something like this:
             private function login_result(event:ResultEvent):void
             {
                 // login successful, remember the user.
                 if( Boolean(event.result) && event.result == true)
                 {
                     if( this.rememberLogin.selected )
                     {
                         this.lso.data['user'] = this.user.text;
                         this.lso.data['password'] = this.password.text;
                     }
                     else
                     {
                         this.lso.data['user'] = null;
                         this.lso.data['password'] = null;
                     }

                     this.dispatchEvent( new Event('loginSuccessful') );
                 }
                 else
                 {
                     // login didn't work. show message
                     errorMessage("Login unsuccessful");
                     this.currentState='login';"

                 }
             }

Like i said i get really confused with events, and i've been reading a
ton but its still fuzzy to me at this point, but i need to have this
application secure. Greatly appreciate your help! :)
thanks again
David







--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/flexcoders/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/flexcoders/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:[EMAIL PROTECTED] 
    mailto:[EMAIL PROTECTED]

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 



Reply via email to