2013-10-08 4 views
2

로그인 할 때 Rikulo 보안을 사용하여 Dart SPA를 만들려고했습니다. 성공적으로 할 수 없었습니다. 나는 워드 프로세서에서 다음을 발견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); 

내 질문/I 성공을 반환 할 클라이언트 측에서 사용할 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); 
    } 
    }); 
}