javascript - 具有后端授权的 JavaScript 安全模式?

标签 javascript security authorization backbone.js design-patterns

我正在寻找一些关于如何在客户端 JavaScript 中处理基本安全需求(例如授权)的良好资源、模式和实践。

我正在构建一个网站,其后端系统运行常见的 MVC 框架之一。后端将处理所有真正的安全需求:授权和身份验证。前端将使用 Backbone.js、jQuery 和其他一些库构建,以提供非常丰富的用户体验。

这是我需要处理的一个场景的示例:

我有一个数据网格,上面有几个按钮。如果您在网格中选择一个项目,某些按钮将被启用,以便您可以对所选项目执行该操作。此功能很容易构建...

现在我需要考虑授权。后端服务器将仅呈现允许用户使用的按钮。此外,当用户尝试执行该操作时,后端服务器将检查授权。 ...因此后端被覆盖,如果未经授权,用户将无法执行他们尝试的操作。

但是 JavaScript 呢?如果我的代码设置了一堆 jQuery 单击处理程序或其他启用和禁用按钮的事件,我该如何处理不存在的按钮?我是否只是编写一堆丑陋的 if 语句来检查按钮是否存在?或者我是否以某种方式编写 JavaScript,让我只根据授权将现有按钮的 JavaScript 发送到浏览器?或???

现在想象一个 TreeView ,它可能允许也可能不允许基于授权的拖放功能...以及一个基于授权可能存在也可能不存在的添加/编辑表单...以及所有其他复杂的授权需求,使用大量 JavaScript 来运行前端的这些部分。

我正在寻找资源、模式和实践来处理此类场景,其中后端处理真正的授权,但前端还需要考虑基于授权不存在的事物。

最佳答案

我可以看到三件相当简单的事情:

  • 模块化主干 View 我越来越喜欢嵌套和高度模块化的 Backbone View 。也就是说,树中的每一行都可以是主干 View 并对其自己的授权要求使用react。

  • 多个事件哈希在您根据授权要求使用 delegateEvents() 切换并由事件触发的 View 上设置多个事件哈希。这样你就可以绕过一组丑陋的 if 语句。

  • 多个模板同样,您可以根据授权要求指定要呈现的多个模板。

所有这三个都需要设置一个事件结构(例如使用您自己的 vent PubSub 处理程序),您可以在其中基于 RESTful 服务器请求的响应或基于某些客户端触发授权检查 -辅助功能。

关于javascript - 具有后端授权的 JavaScript 安全模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8140084/

相关文章:

javascript - For 循环 api 获取天气描述

Java SE 安全功能可保护用户的应用程序数据

security - CSRF 不是浏览器安全问题吗?

Oracle - 如何导出安全策略

php - 支持Doctrine ORM的独立用户管理库?

java - Microsoft Graph - Java;授权代码提供者 : how to get the "authorizationCode"

javascript - onload setInterval 轮播

javascript - 鼠标悬停时双级滑动 DIV

authentication - 考虑放弃编写自定义成员和角色提供程序的想法。意见?

javascript - 将数据插入数据库后将 Bootstrap 模式加载为警报