gpt4 book ai didi

angularjs - Angular 路由授权安全

转载 作者:行者123 更新时间:2023-12-04 06:45:13 24 4
gpt4 key购买 nike

我是 Angular 的新手,我正在努力解决的一件事是路由授权。我来自 .NET/IIS 世界,在那里路由授权就像使用 [Authorize] 属性装饰 API 或 MVC Controller 一样简单。

我已经阅读了几篇关于 Angular 如何处理路由的文章和文档。我担心的是授权是在客户端上进行的。是什么阻止了用户启动开发工具、断点脚本执行以及更改授权服务中控制用户是否有权访问此路由的变量?

正如我提到的,我是 Angular 的新手,所以我可能误解了路由的工作原理。如果是这种情况,请纠正我。

因此,我的问题是:如何使用 Angular 路由实现与使用服务器端路由授权相同级别的安全性?

谢谢。

最佳答案

很明显,纯粹的客户端解决方案是不存在的。因此,在必须安全地限制特定路由的情况下,不能仅使用 Angular 路由。我认为必须在两端处理路由。

我正在使用 Node,所以这是我所做的:

//first evaluate the restricted route
app.get('/admin/*', function(req, res) {
//authorization
var authenticated = call_to_auth_service();
if (!authenticated) {
res.status(403);
res.end();
}
else {
//just remove the front /
var url = req.url.replace('/admin/', 'admin/');
res.render(url);
}
});

//open access - everything else goes back to the index page and there the angular routing takes over
app.get('*', function(req, res){
res.render('index');
});

这可行,但我不确定这是否是最佳方法。你怎么看?这是处理路由的正确方法吗?

谢谢。

关于angularjs - Angular 路由授权安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35122699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com