Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 关于为富用户界面构建基于角色的安全模块的提示(使用广泛的Javascript/JQuery)?_C#_Asp.net - Fatal编程技术网

C# 关于为富用户界面构建基于角色的安全模块的提示(使用广泛的Javascript/JQuery)?

C# 关于为富用户界面构建基于角色的安全模块的提示(使用广泛的Javascript/JQuery)?,c#,asp.net,C#,Asp.net,现在,为你的应用程序构建丰富的用户界面是非常必要的,我是一个灵活易用界面的粉丝 今天,我们有滑动面板,隐藏html元素,时间线。。。所有这些都使用javascript/JQuery。有时在基于角色的安全应用程序中使用时。有时需要启用或禁用对应用程序非常小的单元的访问,如面板列表中的面板,而不中断客户端脚本的执行 在构建一个基于角色的安全模块时,我们可以遵循哪些技巧,以便能够强健地处理当今丰富的用户界面 此问题适用于.NET平台 更新: 我知道依赖客户端的安全是不明智的。我真正想知道的是如何利用服

现在,为你的应用程序构建丰富的用户界面是非常必要的,我是一个灵活易用界面的粉丝

今天,我们有滑动面板,隐藏html元素,时间线。。。所有这些都使用javascript/JQuery。有时在基于角色的安全应用程序中使用时。有时需要启用或禁用对应用程序非常小的单元的访问,如面板列表中的面板,而不中断客户端脚本的执行

在构建一个基于角色的安全模块时,我们可以遵循哪些技巧,以便能够强健地处理当今丰富的用户界面

此问题适用于.NET平台

更新:


我知道依赖客户端的安全是不明智的。我真正想知道的是如何利用服务器端和客户端操作DOM元素的能力,为灵活丰富的用户界面构建真正的基于角色的安全模块。

因为任何人都可以通过Firebug之类的调试器访问浏览器中的DOM并修改数据,您不能真正依赖于在客户端强制执行安全性。当然,您可以在服务器上仅呈现角色可用的接口组件,并限制对客户端javascript或通过post/get调用的方法/操作的访问。通过这种方式,您可以根据客户端代码中公开的角色仅使这些操作可用,不过如果用户知道哪些函数可用,他们仍然可以手工编写请求。我认为,考虑这一点的最好方法是使用javascript等来增强用户界面,也许可以提供更多的界面元素,但要依靠服务器组件来加强安全性。充其量,您可以使用javascript隐藏客户端上的功能,但我不会依靠它来强制执行安全性。

问题的一部分涉及javascript代码的执行(用户不希望安全性阻止javascript代码成功运行)。答案是模块化。您需要编写函数,以便它们不希望页面的所有部分都在那里。出于安全考虑,无论您添加或删除什么对象,它们都需要工作。