2013-10-08 4 views
2

J'ai essayé de créer un SPA Dart en utilisant la sécurité Rikulo pour me connecter. J'ai été incapable de le faire avec succès. J'ai trouvé ce qui suit dans la documentation:Connexion côté client Rikulo sécurité

//If you'd like to login in an Ajax request, SOAP or others,    
//you can invoke this method directly by providing the username, password 
//and, optional, rememberMe:            

    //prepare username, password, rememberMe from, say, Ajax   
    security.login(connect, username: username, password: password,  
     rememberMe: rememberMe, redirect: false); 

Ma question est de savoir comment puis-je retourner un succès/échec de la sécurité valeur se connecter Rikulo pour une utilisation sur le côté client. Un exemple serait extrêmement utile. Merci d'avance.

Répondre

1

Je suppose que vous souhaitez vous connecter sur Ajax (et JSON). Fondamentalement, il ne diffère pas de la gestion Ajax - vous pouvez vous référer à la section des demandes Post Handle here.

import "dart:convert"; 
import "package:rikulo_commons/convert.dart"; 

Future login(HttpConnect connect) { 
    return readAsJson(connect.request).then((Map<String, String> data) { 
    return security.login(connect, redirect: false, 
     username: data["username"], 
     password: data["password"]); 
}) 
.then((_) { 
    //login successfully 
    response 
     ..headers.contentType = contentTypes["json"] 
     ..write(JSON.encode({"result": "success"})); 
    }) 
    .catchError((ex) { 
    if (ex is AuthenticationException) { 
     // login fail 
     response 
     ..headers.contentType = contentTypes["json"] 
     ..write(JSON.encode({'result': 'fail'})); 
    } else { 
     throw new Http404.fromConnect(connect); 
    } 
    }); 
} 
Questions connexes