只是一個快速的想法:
通過獲取具有特定文件夾的路線服務你的partials。例如,您可以在partials文件夾中擁有一個公共和受保護的文件夾。
-app
--partials
---public
---protected
然後在您的受保護路由上添加身份驗證中間件。
未受保護:
app.get('/partials/public/*', function(){ //send partial html here })
保護:
app.get('/partials/protected/*', passport.authenticate, function(){ //same as above })
最後,在你的角度應用程序(希望你已經設置相應的templateURLs),添加一個httpInterceptor來檢查響應是401,如果是的話,重定向到登錄頁面 - >在這裏找到:Credits to Fredrick Nackstad。這裏是重要的片段
var interceptor = ['$location', '$q', function($location, $q) {
function success(response) {
return response;
}
function error(response) {
if(response.status === 401) {
$location.path('/login');
return $q.reject(response);
}
else {
return $q.reject(response);
}
}
return function(promise) {
return promise.then(success, error);
}
}];
$httpProvider.responseInterceptors.push(interceptor);
這將允許你讓角已經訪問靜態內容,同時還具有在被投放了哪些控制。希望這是有幫助的。