node.js 및 mongodb에서 등록 및 로그인 양식 만들기
나는 node.js에 처음이며 사용자에 대한 등록 및 로그인 페이지를 만들고 싶습니다. 또한 사용자에 대한 적절한 권한이 있어야 합니다.mongodb 데이터베이스에 사용자 정보를 저장하고 싶습니다.이것을 어떻게 달성할 수 있을까요? 누가 코드를 제공하여 node.js와 mongodb로 시작할 수 있도록 할 수 있을까요?제발 도와주세요.
여러분은 알렉스 영의 노데패드 애플리케이션에서 여러분이 하려는 것의 완전한 샘플을 찾을 수 있습니다.다음 두 가지 중요한 파일을 살펴봐야 합니다.
https://github.com/alexyoung/nodepad/blob/master/models.js
https://github.com/alexyoung/nodepad/blob/master/app.js
모델의 일부는 다음과 같습니다.
User = new Schema({
'email': { type: String, validate: [validatePresenceOf, 'an email is required'], index: { unique: true } },
'hashed_password': String,
'salt': String
});
User.virtual('id')
.get(function() {
return this._id.toHexString();
});
User.virtual('password')
.set(function(password) {
this._password = password;
this.salt = this.makeSalt();
this.hashed_password = this.encryptPassword(password);
})
.get(function() { return this._password; });
User.method('authenticate', function(plainText) {
return this.encryptPassword(plainText) === this.hashed_password;
});
User.method('makeSalt', function() {
return Math.round((new Date().valueOf() * Math.random())) + '';
});
User.method('encryptPassword', function(password) {
return crypto.createHmac('sha1', this.salt).update(password).digest('hex');
});
User.pre('save', function(next) {
if (!validatePresenceOf(this.password)) {
next(new Error('Invalid password'));
} else {
next();
}
});
dailyjs 사이트에서도 코드를 설명하는 것 같습니다.
저는 정확히 이것을 하기 위해 보일러 플레이트 프로젝트를 작성했습니다.계정 생성, 이메일을 통한 비밀번호 검색, 세션, 사용자가 돌아올 때 기억하기 위한 로컬 쿠키, bcyrpt를 통한 보안 비밀번호 암호화를 지원합니다.
제 블로그에는 프로젝트의 구조에 대한 자세한 설명도 있습니다.
쉽게 시작할 수 있는 방법은 Express입니다.JS + 몽구스JS + Mongoose Auth.
특히 마지막 플러그인은 여러 인증 방법(패스워드, Facebook, Twitter 등)을 사용하여 로그인할 수 있는 간단한 표준 방법을 제공합니다.
언급URL : https://stackoverflow.com/questions/8051631/creating-registration-and-login-form-in-node-js-and-mongodb
'programing' 카테고리의 다른 글
Ionic2 오류: "스토리지 제공자 없음" (0) | 2023.07.19 |
---|---|
수동으로 범례를 작성하는 방법 (0) | 2023.07.19 |
.gitconfig를 사용하여 diff 도구 구성 (0) | 2023.07.19 |
C에서 "계속하려면 아무 키나 누르기" 기능 (0) | 2023.07.19 |
셀러리의 대기열에 있는 작업 목록 검색 (0) | 2023.07.19 |