을 표현하고 나는 기본 인증 설정에 노력하고 있습니다. 그것은 비 정적 경로에 대해 잘 작동하지만 정적 경로가 작동하는 방식을 이해하는 데 문제가 있습니다. 나는 최근에 내 인증 페이지 (/ 홈) 정적 경로를 사용을 요청할 때 .../home.html을, 그것은 상관없이 경로를 제공하지 않습니다 것을 발견했다. 이미 IsAuthenticated는이 호출 그래서, 그 인증이 실패 로그 콘솔에서 볼 수 있지만, 그러나 그것은 작동하지 않습니다, 그것을 내가/홈 인증 같은 방법으로 인증을 시도했다.인증 정적 경로, nodejs는 웹 개발에 나는 비교적 새로운 오전 여권 HTML
사람이 올바른 방향으로 날 지점 수 있을지는 적절한 인증을하기 위해 묻는/가정 및 /home.html의 차이를 이해하려고 나는이 크게 감사하겠습니다. 나는 또한 그들을 통해 탐색 할 때 온라인으로 방문 대부분의 웹 사이트는 정적 경로가없는 것으로 나타났습니다. 유일한 방법 때문에 나는 또한 첫 번째 단추를 클릭 한 후 정적 경로를 제공, 버튼 HREF =/path.html를 사용하는 것입니다에서 페이지를 리디렉션하는 방법을 알고있다. 정적이 아닌 경로 (href =/path가 끝에 .html을 추가하지 않으면 작동하지 않음)를 제공하는 방법을 알고 있으면 좋을 것입니다.
아마도 대답은 오히려 간단하지만 아마 어떤 단어인지는 알지 못합니다. 내 최선의 지식을 찾아야 만 stackoverflow에서 찾을 수 없습니다. 그래서이 멍청한 질문을 도와주세요. 내가 인증을 시도 할 경우
다음app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.use(cookieParser());
app.use(express.static('public'));
app.set('views', __dirname + '/public');
app.engine('html', engines.mustache);
app.set('view engine', 'html');
app.use(require('express-session')({
secret: 'so secret much safety',
resave: true,
saveUninitialized: true
}));
app.use(passport.initialize());
app.use(passport.session());
은 다음과 같습니다 : 나는 미들웨어를 설정할 경우 다음
은 내가 nodejs 그들을 찾을 수 없습니다 공용 폴더에서 멀리보기를 이동하려고
function isAuthenticated(request, response, next) {
console.log('isauthenticated:'+request.isAuthenticated());
if (request.isAuthenticated()){return next();}
else{response.redirect('/');}
}
app.use('/home', isAuthenticated, function(request, response){
response.render('home.html');
//response.send('if you are viewing this page it means you are logged in');
});
app.use(express.static(__dirname + '/home'), isAuthenticated, function(request, response){
//should serve the page here
});
공개 폴더에 자신의 의견이 있으므로 아무 것도 상관없이 * 액세스 할 수 있습니다. 공개 폴더 외부로보기를 이동하면 /home.html과 같은 링크를 사용하여 더 이상 액세스 할 수 없습니다. 빠른 작업 방법에 대한 기본 자습서를 읽으시기 바랍니다. – Molda