2013-10-08 11 views
2

Я пытаюсь создать Dart SPA, используя систему Rikulo для входа. Я не смог сделать это успешно. Я нашел следующее в документации:Rikulo на стороне клиента на стороне клиента

//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); 

Мой вопрос, как я могу вернуть успех/провал логин значение из безопасности Rikulo для использования на стороне клиента. Пример был бы очень полезен. Заранее спасибо.

ответ

1

Предполагается, что вы хотите войти в систему через Ajax (и JSON). В принципе, он ничем не отличается от обработки Ajax - вы можете обратиться к разделу «Запросы на обработку дескриптора» 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); 
    } 
    }); 
} 
Смежные вопросы