我正在尝试在我的网站上实现金字塔的安全功能,但我在确定如何使用它时遇到了一些麻烦.
我一直在阅读本教程和本例以及Pyramid文档,我无法弄清楚如何为单页ID实现授权策略.
例如,我有以下URL方案:
/pages
/pages/12
Run Code Online (Sandbox Code Playgroud)
/pages显然列出了可用的页面/pages/:id,您可以在该页面上阅读/评论.
我读过的文档/示例表明,您可以通过提供包含groupfinder组列表的回调来实现组级ACS .如editor,admin等
我怎样才能根据页面ID使用组权限而不是权限?
在上面的URL方案中,当用户浏览时,/pages他们必须登录.当他们浏览时/pages/:id,他们必须有权查看该特定ID.或者,他们必须是该页面的所有者.
与评论相同.在/page/:id页面上,他们可能已被授予查看页面的权限,但不对其进行评论.
我开始玩AngularJS,我在处理嵌套子视图的路由时遇到了一些麻烦.
我的网站有一个基本的两列布局,如下所示:
[Main 1] [Main 2] [Main 3]
--------------------------------------
A | Content for A goes into this frame.
B |
C |
D |
E |
Run Code Online (Sandbox Code Playgroud)
当您通过主菜单(主菜单1,主菜单2,主菜单3)导航到页面时,将动态生成侧菜单链接(a,b,c,d,e).
即,导航到main1链接将发出请求/main1,返回JSON链接数组.
当用户单击其中一个链接时,它将/main1/a向内容框架发出请求并将数据加载到内容框架中.
我目前这样做的方式是:
index.html的:
<body>
<a href="/main1">Main 1</a>
<div ng-view></div>
</body>
Run Code Online (Sandbox Code Playgroud)
app.js:
angular.module('test', [
'test.controllers'
])
.config([
'$routeProvider',
function($routeProvider)
{
$routeProvider
.when('/main1', {
templateUrl: '/partials/main1.html',
controller: 'Main1Ctrl'
})
.when('/main1/:id', {
templateUrl: '/partials/main1.html',
controller: 'Main1Ctrl'
})
}
]);
Run Code Online (Sandbox Code Playgroud)
这就是我陷入困境的地方.我的Main1Ctrl控制器目前看起来像:
angular.module('test.controllers', [])
.controller('Main1Ctrl', [
'$scope',
'$routeParams',
'Data',
function($scope, $routeParams, …Run Code Online (Sandbox Code Playgroud)