1

我正在考虑创建传统 Web 应用程序的 RIA 版本。在传统的 Web 应用程序中,大部分代码都在服务器上,显然与客户端无关。在那里,我至少有条件代码来检查当前用户是否有权执行某项操作,或者要显示哪些表单字段。在 RIA 中,所有代码都在浏览器中运行。所以我似乎有两个选择。

  1. 如果我需要显示表单,请从服务器动态获取它。这可行,但它使服务器做的工作不仅仅是来回编组 JSON。
  2. 从服务器取回账户数据,在客户端做所有的授权码。我在 basecampmobile 上很快达到了顶峰,似乎他们正在做这样的事情。我的问题是,将这些信息隐藏在闭包后面真的可以保护它,还是“隐蔽安全”?
4

2 回答 2

0

我会在服务器和客户端上进行授权。客户端向服务器进行身份验证,服务器仅返回属于该客户端/用户的数据,不返回其他任何数据。然后在客户端上检查细节的授权以相应地更新 UI。

请记住,您始终可以跳入开发工具并查看网络流量,因此我们甚至不在这里谈论晦涩难懂...

于 2011-05-06T15:26:21.740 回答
0

当您在胖客户端上工作时,您应该检查服务器和客户端上的用户安全性,因为客户端很容易被黑客入侵。

我不喜欢 RIA 服务基于角色的授权。使用像 SQL Server 那样的基于访问的授权感觉更直观,并且它不会强迫您在客户端重新实现安全性。例如,与其说 x、y 和 y 可以访问此 createCustomer(..) 方法,不如说具有“创建”权限的人可以访问此方法更直观。我有一个开源框架来促进这种类型的授权阅读更多here。它被称为安全框架。

于 2011-07-10T12:28:12.700 回答