Hi all,
Does anyone have a working example of auth.cfc (the file that gets
generated when using the CF Wizard? I thought the code below would be
sufficient but its still not working. Any suggestions?

CODE:
 
AUTH.CFC:
        <cffunction name="login" access="remote" returntype="boolean">
                <cfargument name="user" required="yes" />
                <cfargument name="password" required="yes" />
                
                <cfset var qRead="">

                <cfquery name="qRead" datasource="tiomkin">
                                SELECT UserName, UserPassword
                                FROM USERS
                                WHERE UserName = <cfqueryparam 
cfsqltype="CF_SQL_VARCHAR"
value="#arguments.user#" />
                                AND UserPassword = <cfqueryparam 
cfsqltype="CF_SQL_VARCHAR"
value="#arguments.password#" />
                </cfquery>

                <cfif qRead.recordcount gt 0>
                        <cfreturn true>
                <cfelse>
                        <cfreturn false>
                </cfif>
        </cffunction>

LOGIN.MXML:

<?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['email'] != null )
                                {
                        this.user.text = this.lso.data['email'];
                        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="UserName" 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>

Thanks in advance,
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