对不起,如果这是一个菜鸟问题,但是在这里:
我希望管理员(登录网站时)查看非管理员登录时无法查看的链接。我甚至不确定如何开始使用。我知道我必须在routes.js文件中添加两个单独的路由。但不确定如何在UI中显示或者我是否正确。
这个回购似乎与我的问题有点相关。 https://github.com/angular-ui/ui-router#get-started
由于
答案 0 :(得分:4)
因此,创建管理页面的最佳方法(使用角度)是在快递或节点内限制它们的API。
幸运的是,有一个包! Passport一个节点模块,它不仅可以进行常规登录,还可以进行谷歌,脸书和其他许多人。
我会看一下中间件示例然后在你的路线中你可以做一些简单的事情:
app.get('/admin', isAdmin ,function(req,res){
res.send('Secret Admin Things')
});
其中isadmin
将处理检查他们是否是一个管理员! Amazing tutorial for this
答案 1 :(得分:1)
我参与了一个没有使用护照的项目,这就是他们所做的事情
在后端
$(document).ready(function() {
var maxrow = 10;
var addButton = $('.addbutton');
var wrapper = $('tbody'); //Input field wrapper
var field = '<tr><td><input type="text" name="names" value="2" /></td><td><a href="javascript:void(0);" class="removebutton" >Remove</a></td></tr>';
var y = 1;
$(addButton).click(function() {
if (y < maxrow) {
y++;
$(wrapper).append(field);
}
});
});
然后在前端
HTML:
res.locals = {
auth: req.session.auth,
}
res.render('index');
JavaScript:
<span id="admin"> </span>
然后为了确保某人无法查看代码以找到链接并转到它,您当然可以保护后端
if('{{auth}}' == admin){
menu = "<a href='/admin/users'> Admin: Users </a>"
$('#admin').append(menu)
}
如果您使用并知道角度和护照,其他答案都很棒。但是,并不是每个人都使用相同的库,所以如果你只使用express和JQuery这个选项可以帮助你入门。对于你想要做的安全检查等,代码还有很多,但这是基本的方法