我正在使用包装引导中的SmartAdmin主题。我增加了数吨我自己的角码~5k / loc。
到目前为止,我已经使用主题的方法来查看呈现,然而,现在它已经成为一个问题,我需要一个方法绕过它的登录页面。
项目档案结构
project/
assets/
js/
app/
feature1/
controller.js
directive.js
filter.js
views/
feature1/
template.html
feature2/
index.html当用户第一次进入项目根目录时,index.html就会被服务起来。在index.html内部有各种ng-includes,用于页眉、边导航和页脚。
我在每个请求之间使用基于JWT的身份验证和授权,如果用户没有经过身份验证或超时,则通过/login重定向到$location.path('/login');
问题是,它仍然显示标题、侧导航和页脚(来自project/index.html)。不管怎么说,是否存在这样的问题,并且只有在经过身份验证时才使用index.html?
如您所料,我不希望用户在未经身份验证时看到header/sidenav/ when。不管我在路由器中指定的templateUrl是什么,index.html都是服务的,templateUrl是在路由器内部使用的。我需要的不是只发生在特定的路线上。
编辑:
我使用的模板是通过<div ng-view></div>插入到index.html中的。
模拟index.html布局:
<html ng-app="app">
<head>
</head>
<body ng-controller="PageCtrl">
<header ng-include="'templates/header.html'"></header>
<aside ng-controller="'templates/left-panel.html'"></aside>
<div ng-view></div>
<footer ng-include="'templates/footer.html'"></footer>
</body>
</html>在ng-view内部,每个模板都有一个控制器。
发布于 2014-10-29 18:09:42
一个简单的解决方案是添加和ng隐藏到您的导航和标题是依赖于当前的路线。我通常使用UI-路由器,所以我没有即时可用的服务,但是如果您不能理解它,我会添加一个注释,我会看一看。
发布于 2014-11-28 06:38:25
使用ng-当使用应用程序安全性时,如果是更安全的。ng-显示和ng-隐藏将工作,但这只是设置/重置通过身份验证的标题和菜单的可见性。
因此,通过在脚本部分进行身份验证时设置一个范围变量(类似于$scope.authenticated = true; ),并在模板(如ng-if="authenticated" )中使用该变量。
https://stackoverflow.com/questions/26637512
复制相似问题