Как сделать страницу входа используя AngularJS?

293
20 февраля 2017, 18:50

На проекте сделал уже несколько страниц, теперь появился вопрос, как сделать страницу входа, тоесть чтобы изначально когда заходишь на сайт перекидало на страницу входа.

Я использую $stateProvider и такой способ создания страниц

MetronicApp.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) { 
    // Redirect any unmatched url 
    $urlRouterProvider.otherwise("/dashboard.html");   
 
    $stateProvider 
 
        // Dashboard 
        .state('dashboard', { 
            url: "/dashboard.html", 
            templateUrl: "views/dashboard.html",             
            data: {pageTitle: 'Admin Dashboard Template'}, 
            controller: "DashboardController", 
            resolve: { 
                deps: ['$ocLazyLoad', function($ocLazyLoad) { 
                    return $ocLazyLoad.load({ 
                        name: 'MetronicApp', 
                        insertBefore: '#ng_load_plugins_before', // load the above css files before a LINK element with this ID. Dynamic CSS files must be loaded between core and theme css files 
                        files: [ 
                            'assets/global/plugins/morris/morris.css', 
                            'assets/global/plugins/morris/morris.min.js', 
                            'assets/global/plugins/morris/raphael-min.js', 
                            'assets/global/plugins/jquery.sparkline.min.js', 
 
                            'assets/pages/scripts/dashboard.min.js', 
                            'js/controllers/DashboardController.js' 
                        ]  
                    }); 
                }] 
            } 
        }) 
 
        // Blank Page 
        .state('blank', { 
            url: "/blank", 
            templateUrl: "views/blank.html",             
            data: {pageTitle: 'Blank Page Template'}, 
            controller: "BlankController", 
            resolve: { 
                deps: ['$ocLazyLoad', function($ocLazyLoad) { 
                    return $ocLazyLoad.load({ 
                        name: 'MetronicApp', 
                        insertBefore: '#ng_load_plugins_before', // load the above css files before a LINK element with this ID. Dynamic CSS files must be loaded between core and theme css files 
                        files: [ 
                            'js/controllers/BlankController.js' 
                        ]  
                    }); 
                }] 
            } 
        }) 
 
        // AngularJS plugins 
        .state('fileupload', { 
            url: "/file_upload.html", 
            templateUrl: "views/file_upload.html", 
            data: {pageTitle: 'AngularJS File Upload'}, 
            controller: "GeneralPageController", 
            resolve: { 
                deps: ['$ocLazyLoad', function($ocLazyLoad) { 
                    return $ocLazyLoad.load([{ 
                        name: 'angularFileUpload', 
                        files: [ 
                            'assets/global/plugins/angularjs/plugins/angular-file-upload/angular-file-upload.min.js' 
                        ]  
                    }, { 
                        name: 'MetronicApp', 
                        files: [ 
                            'js/controllers/GeneralPageController.js' 
                        ] 
                    }]); 
                }] 
            } 
        }) 
 
        // UI Select 
        .state('uiselect', { 
            url: "/ui_select.html", 
            templateUrl: "views/ui_select.html", 
            data: {pageTitle: 'AngularJS Ui Select'}, 
            controller: "UISelectController", 
            resolve: { 
                deps: ['$ocLazyLoad', function($ocLazyLoad) { 
                    return $ocLazyLoad.load([{ 
                        name: 'ui.select', 
                        insertBefore: '#ng_load_plugins_before', // load the above css files before '#ng_load_plugins_before' 
                        files: [ 
                            'assets/global/plugins/angularjs/plugins/ui-select/select.min.css', 
                            'assets/global/plugins/angularjs/plugins/ui-select/select.min.js' 
                        ]  
                    }, { 
                        name: 'MetronicApp', 
                        files: [ 
                            'js/controllers/UISelectController.js' 
                        ]  
                    }]); 
                }] 
            } 
        })

Как прописать в настройках, что бы посторонним не было доступно ничего кроме формы логина и пароля? Подскажите как в моем случае решить эту проблему, поделись информацией, возможно уже есть видеоурок на эту тему или туториал, или возможно у вас была похожая ситуация. Буду очень рад)

READ ALSO
Многомерный массив JSON в JS

Многомерный массив JSON в JS

Добрый день! Имеется следующий массив JSON:

376
Вставить текст в border CSS HTML

Вставить текст в border CSS HTML

Мне нужно вставить текст по центру в верхнюю и нижнюю границу, которые будут иметь фоновое изображение позади нихЭто будет на каждой странице

597
Вращение текста вокруг оси Y

Вращение текста вокруг оси Y

В последние несколько дней я немного занимался свойством CSS transform, и я хочу найти способ для отображения переспективы, похожее на это:

466
Как с радио кнопками сделать таб

Как с радио кнопками сделать таб

Есть две радио кнопки, надо сделать из них таб

513