LOGIN과
권한
이번에도
Live Coding!
목표
-
route 별로 필터를 만든다.
-
유저에 따라 특정 route의 접속을 제한한다.
-
login 유저를 구분한다.
생성
meteor create loginWithAuth
cd loginWithAuth
rm loginWithAuth.*
iron-router 추가
meteor add iron-router
Home/About 추가
<template name="home">
<h1>Hello buddies!</h1>
</template>
<template name="about">
<h1>about</h1>
</template>
Route
Router.map(function() {
this.route('home', {
path: '/'
});
this.route('about');
});
Route 추가
admin
noAuth
loggingIn
Router.onBeforeAction
user login 여부 확인
logginIn
login중인지 확인
log in 실행 순서
- user - undefined , loggingIn() - true
- user - 유저정보 들어옴, loggingIn() - true
- user - 유저정보 들어옴, loggingIn() - false : login 완료
Role
권한이 있는지?
Putting It All Together
Router.map(function() {
this.route('home', { path: '/' });
this.route('about');
this.route('admin');
this.route('noAuth');
});
Router.onBeforeAction(function(pause) {
var user;
user = Meteor.user();
if (!Meteor.loggingIn()) {
if (!(user && user.profile && user.profile.role === 'ADMIN')) {
Router.go('noAuth');
}
} else {
this.render('loggingIn');
pause();
}
}, {
only: ['admin']
});
meteor-login
By Lee Jaeho
meteor-login
- 1,279