【发布时间】:2016-03-21 12:45:48
【问题描述】:
我正在开发一个 Angular 1.5.0-rc0 项目。
我正在使用带有 ng-view 的 angular-route,配置如下:
app.config(['$routeProvider','$locationProvider',
function($routeProvider,$locationProvider) {
$routeProvider.
when('/',{
templateUrl: 'views/index.html',
controller: 'IndexController',
}).
when('/login', {
templateUrl: 'views/login.html',
controller: 'LoginController'
}).
when('/cocktail/:cocktail_name', {
templateUrl: 'views/cocktail.html',
controller: 'CocktailController',
}).
when('/add-drink',{
templateUrl: 'views/add-drink.html',
controller: 'AddDrinkController',
}).
when('/add-cocktail',{
templateUrl: 'views/add-cocktail.html',
controller: 'AddCocktailController',
controllerAs: 'addCocktail'
}).
when('/admin-drinks',{
templateUrl: 'views/admin-drinks.html',
controller: 'AdminDrinksController',
controllerAs: 'adminDrinks'
}).
when('/login',{
templateUrl: 'views/login.html',
controller: 'LoginController',
controllerAs: 'login'
}).
otherwise({
redirectTo: '/'
});
我想检查用户是否使用 https 或 http 进行浏览。如果他们使用 http 浏览 /login,我想将他们重定向到 https。
我该怎么做?
【问题讨论】:
-
如果您正在创建一个单页应用程序,您最好将其全部设为 https,而不是仅在它们转到 /login 时尝试重定向它们 - 如果您只使用 Angular 路由,一次他们已经登录,无论如何他们将保持在 https 上。正如@GadgetBlaster 所说,最好在服务器端执行此操作