내가 응용 프로그램은 express.js로 작성하고 난 2 개 섹션이 응용 프로그램을 분할하기 위해 노력하고있어 분단 공공 디렉토리 만에 경로로 (권한이없는 사용자를위한익스프레스 - 허가 된/허가받지 않은 사용자
- 하나/- 방문 페이지/로그인 및/* - error404)
- 및 초 (경로는 다음과 같습니다/- 방문 페이지,/응용 프로그램/* - 자체 라우팅 처리 할 각 SPA)
익스프레스 또한 정적 파일을 가져 오도록 구성되었습니다. /unauth/public/
A 차 나는 권한이 루트에서 요청에 대한 두 번째 정적 폴더를 추가 할 - 이동 /auth/public
에/응용 프로그램/*
: 나는 req.url과 전화를 수정하려고
var authRoutes = express.Router();
var unauthRoutes = express.Router();
authRoutes.get('/app/*', function(req, res, next) {
if(!req.isAuthenticated())
return res.redirect("/login/");
res.send("AUTHORIZED");
});
unauthRoutes.get('/', function(req, res, next) {
res.send("LANDING PAGE");
});
unauthRoutes.get('/login/', function(req, res, next) {
if(req.isAuthenticated())
return res.redirect("/app/");
res.send("LOGIN PAGE");
});
unauthRoutes.get('/registration/', function(req, res, next) {
if(req.isAuthenticated())
return res.redirect("/app/");
res.send("REGISTRATION PAGE");
});
unauthRoutes.get('/*', function(req, res, next) {
res.send("ERROR 404");
});
app.use('/', authRoutes);
app.use('/', unauthRoutes);
이에 따라 다른 정적 oruter express.static('auth/public')
:
Using express.static middleware in an authorized route
하지만 나도 몰라, 경로 app.get('/auth/*', ...)
을 처리하는 방법 - 이전의 수정이 대체합니다
// Create your static middlewares
var unauthStatic = express.static('unauth/public');
var authStatic = express.static('auth/public');
// This goes in place of where you would normally load your static middleware
app.use(function(req, res, next) {
if (req.isAuthenticated()) {
authStatic(req, res, next);
} else {
unauthStatic(req, res, next);
}
});
편집 :
당신이 인증 된 사용자가 모두 인증 파일에 액세스 할 수 있도록하려면 및 URL과 호출되지 않습니다이 경로 ..