0
我在嘗試驗證用戶在查看快速目錄文件樹之前遇到問題。我可以在所有其他頁面上進行身份驗證,但即使在下載文件之前通過身份驗證路徑,也無法在「/ dat /:file(*)」上進行身份驗證。 因此,當用戶轉到'/'時,如果他們沒有登錄,express會重定向他們。但是,如果用戶轉到'/ dat',express將不會進行身份驗證,並允許他們瀏覽文件樹。我使用[email protected],任何幫助都會很棒。謝謝!在Express中提供目錄之前進行身份驗證
app.configure(function() {
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use('/', express.static(__dirname + '/public'));
app.use('/dat', express.directory(__dirname + '/public/dat', {hidden: true, icons: true}));
app.use(express.json());
app.use(express.urlencoded());
app.use(express.methodOverride());
app.use(express.cookieParser('secret'));
app.use(express.session({
secret: 'secret',
maxAge: 3600000
}));
app.use(passport.initialize());
app.use(passport.session());
app.use(app.router);
});
app.get('/', ensure_authenticated, routes.index);
app.get('/dat/:file(*)', ensure_authenticated, function(req, res, next) {
var path = __dirname + '/' + req.params.file;
res.download(path);
});
謝謝Jordonias這是有道理的,並要求在路由到「/ dat」之前進行身份驗證。然而,現在當我進行身份驗證然後轉到'/ dat'時,它會嘗試提供靜態html文件而不是文件樹。 – 2014-10-09 18:06:19