breezejs:关于将所有属性暴露给客户端的安全性

时间:2015-07-15 07:44:52

标签: breeze

我们假设我们将以下实体及其属性公开给客户端应用程序:

<Window x:Class="Scroll4.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:local="clr-namespace:Scroll4" Title="MainWindow" Height="350" Width="525"> <Window.Resources> <!--ERORR--> <local:ScrollOffsetToVisibilityConverter x:Key="Converter" /> <SolidColorBrush x:Key="Background" Color="Gray" />...

在客户端应用程序中,我们会根据用户权限显示所有或部分属性。

但是,由于我们在Employee实体上查询,所有属性都被发送回客户端应用程序。因此,如果我们决定隐藏某些用户的socialSecurityNumber,他们仍然可以通过检查响应的内容来查看从服务器返回的值。

我们应该采取什么方法来防止这种情况发生?目前我正在考虑使用根据谁登录而有所不同的预测....

但是有些见解会受到赞赏。

2 个答案:

答案 0 :(得分:0)

特别是对于敏感数据,只发送手头屏幕绝对需要的内容,并且只发送用户允许查看的数据。我会走数据传输对象或投影的路径。

答案 1 :(得分:0)

他(@NathanFisher)说的话。您还可以控制在JSON序列化级别发送的属性。例如,在JSON.NET中,您可以使用https://developer.apple.com/library/mac/documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WeakLinking.html。{/ p>来conditionally serialize属性