Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.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
如何基于EXTJS实现动作角色_Extjs_Asp.net Web Api_Extjs4_Extjs4.2_Extjs Mvc - Fatal编程技术网

如何基于EXTJS实现动作角色

如何基于EXTJS实现动作角色,extjs,asp.net-web-api,extjs4,extjs4.2,extjs-mvc,Extjs,Asp.net Web Api,Extjs4,Extjs4.2,Extjs Mvc,我正在使用Web API服务器端构建一个新的ExtJS4 MVC应用程序,该应用程序将具有基于用户角色的登录和操作。例如,不要只扮演以下角色: 管理 管理的 企业人力资源管理师 我有一组操作和访问类型,如 Action (Access Type) 删除完全访问权限 Person.ShowDetail只读 报告。个人。会计无 等 我有两种方法: 实现验证服务器端Web API方法 实现验证客户端ExtJS 如果选择服务器端,则用户将看到所有按钮、字段等。但例如,如果有

我正在使用Web API服务器端构建一个新的ExtJS4 MVC应用程序,该应用程序将具有基于用户角色的登录和操作。例如,不要只扮演以下角色:

管理 管理的 企业人力资源管理师 我有一组操作和访问类型,如

Action               (Access Type)
删除完全访问权限 Person.ShowDetail只读 报告。个人。会计无 等 我有两种方法:

实现验证服务器端Web API方法 实现验证客户端ExtJS 如果选择服务器端,则用户将看到所有按钮、字段等。但例如,如果有打印报告按钮,并且用户没有打印报告的授权,用户将单击按钮,然后发出服务器端请求,Web API将检查当前用户是否允许访问该方法,然后向客户端返回消息

我不太喜欢服务器端的方法,因为用户会一直攻击服务器,即使他不被允许做一些动作

所以我真的不知道如何实现这种方法,以便显示、隐藏、禁用按钮、字段等。可能是这两种方法的混合


希望有人能给我最好的理解。

有兴趣看到对此的回应。在我的脑海中,我可能会创建一些全局方法,或者可以在各种组件上调用这些方法,这些组件可以根据用户的角色和访问级别确定一些隐藏/可见、活动/禁用等状态。基本上,您可以将所有已知角色/访问级别映射到可以传递到验证方法中的各种密钥。如何将访问控制保留在一个数组中,然后根据组件类型查询此数组?例如,Person.Delete有三个功能,如读取、更新和删除。如果我们的数组像这样000002000000,我们知道数组的第6个值等于我们的Person动作。结果,数组的第6个值是2,这意味着用户将执行所有操作。如果该值等于1,则用户仅执行更新和读取操作。这是一个想法……这种方法听起来不错,唯一的问题是如何在Extjs上实现:Thanks@VAAA,有一个旧条目:,我最终在客户端和服务器端实现了安全性。这使您的应用程序更加安全。如果您只在客户端拥有安全性,那么有一些方法可以绕过它。最好在服务器端进行检查