gpt4 book ai didi

angularjs - 使用 Angular 和 Express 进行客户授权

转载 作者:太空宇宙 更新时间:2023-11-04 03:31:49 25 4
gpt4 key购买 nike

我刚刚开始学习如何使用 Node.js 和 Express 开发服务器端的基础知识。我熟悉使用护照和本地/OAuth 策略对用户进行身份验证。

我正在努力解决的是如何授权经过身份验证的用户执行“迷你功能”?我所说的迷你功能是指嵌入页面中可供所有用户使用的额外功能,但这些功能应该仅对特定用户可用。例如:评论页面应该对所有人开放,但评论只能由某些用户完成,或者删除评论只能由其所有者或管理员完成。

我学到的是使用一些身份验证功能作为中间件,该中间件将相应地阻止/接受对页面/请求的访问,但我真正想做的是以某种方式从 Angular 查询当前登录的用户,并且仅相应地显示/隐藏某些按钮(用于删除评论或发布评论)。

这似乎是一个有点菜鸟的问题,但我会很感激。

最佳答案

围绕基于 Angular 色锁定客户端和服务器,您需要在此处使用多种技术。因此,每个登录用户可能会被分配多个 Angular 色,例如:

  • 查看
  • 评论者
  • 管理员
  • super 用户

所有服务器端端点都应进行 Angular 色注释,以便只有具有正确权限的用户才能访问它们。

嘿,但我问的是客户,那怎么样?

在客户端上,您必须复制它,因此作为 Angular SPA 的一部分,您还将拥有某种身份验证或用户服务,您可以查询该服务以查明 a) 用户是否已登录以及 b) 他们有权执行哪些 Angular 色。使用该信息以及适当的路由以及 ng-if 和 ng-show 属性,您可以阻止用户在客户端应用程序中执行或查看操作。

无耻插件即将出现

对于基于客户端路由 Angular 色的权限,我有一个 github 开源项目,它执行类似的操作。 MEANP-SEED thinkjones Github link 。在此,我锁定了路由(客户端),但它可以轻松扩展以创建一个服务,该服务返回 Angular 色信息,用于根据权限更改应用程序的外观。

tl;博士

确保您的服务器端已锁定,然后更改您的客户端应用程序以仅根据 Angular 色隐藏/显示/阻止路由。

关于angularjs - 使用 Angular 和 Express 进行客户授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36394235/

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