Page 29 -
P. 29

를 개발자가 개입해야 할 때가 있다. 이런 경우에는 가입 시 호출되는 함수들을 제어하면 된다.
                  클라이언트나 서버에서 Accounts.createUser 함수를 호출해 가입을 요청할 때 서버에서는 2개

                  의 함수가 순차적으로 호출되는데 이 함수를 우리가 커스터마이징할 수 있다. 2개의 함수는 바로
                  Accounts.onCreateUser 함수와 Accounts.validateNewUser 함수다. 이들 두 함수로 가입 시 사용
                  자 정보를 핸들링한다거나 가입 요청 정보의 정합성을 검사할 수 있다.



                  37.2.1   가입 시 사용자 정보 핸들링하기

                  클라이언트나 서버 코드에서 Accounts.createUser 함수를 통하여 가입을 요청하면 가입 요청 정

                  보가 Accounts.onCreateUser 함수로 전달된다. 이 함수를 다음과 같이 서버에서 구현해보자.
                  만약 여러분이 구현하는 서비스에서 처음 가입한 모든 사용자는 어드민이 아니고 일반 사용자라

                  고 할 경우 profile에 isAdmin 값을 false로 설정해보자.
                  서버의 main.js 파일에 다음과 같이 Accounts.onCreateUser를 구현한다. 기본 코드는 다음과 같다.


                   ~/Projects/customLogin/server/main.js
                    ...생략...
                    Accounts.onCreateUser(function(options, user) {
                        return user;
                    });


                  익명 함수에 넘어오는 두 매개변수 중 options는 createUser에서 넘어오는 정보이고, user는 실
                  제로 데이터베이스에 저장될 정보다. 따라서 우리는 options에 있는 정보 중 필요한 정보만 user
                  에 담아서 반환하면 된다. 물론 isAdmin 같은 추가 정보도 저장할 수 있다. 이렇게 반환한 정보를
                  미티어가 user 컬렉션에 저장한다.


                   ~/Projects/customLogin/server/main.js
                    ...생략...
                    Accounts.onCreateUser(function(options, user) {
                        user.profile = options.profile;  // 사용자 입력 값을 저장될 값으로 넣어 줌
                        user.profile.isAdmin = false;    // 기본이 어드민 아님
                        return user;
                    });








            552
   24   25   26   27   28   29   30   31   32   33