如何基于EXTJS实现动作角色
我正在使用Web API服务器端构建一个新的ExtJS4 MVC应用程序,该应用程序将具有基于用户角色的登录和操作。例如,不要只扮演以下角色: 管理 管理的 企业人力资源管理师 我有一组操作和访问类型,如如何基于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 如果选择服务器端,则用户将看到所有按钮、字段等。但例如,如果有
Action (Access Type)
删除完全访问权限
Person.ShowDetail只读
报告。个人。会计无
等
我有两种方法:
实现验证服务器端Web API方法
实现验证客户端ExtJS
如果选择服务器端,则用户将看到所有按钮、字段等。但例如,如果有打印报告按钮,并且用户没有打印报告的授权,用户将单击按钮,然后发出服务器端请求,Web API将检查当前用户是否允许访问该方法,然后向客户端返回消息
我不太喜欢服务器端的方法,因为用户会一直攻击服务器,即使他不被允许做一些动作
所以我真的不知道如何实现这种方法,以便显示、隐藏、禁用按钮、字段等。可能是这两种方法的混合
希望有人能给我最好的理解。有兴趣看到对此的回应。在我的脑海中,我可能会创建一些全局方法,或者可以在各种组件上调用这些方法,这些组件可以根据用户的角色和访问级别确定一些隐藏/可见、活动/禁用等状态。基本上,您可以将所有已知角色/访问级别映射到可以传递到验证方法中的各种密钥。如何将访问控制保留在一个数组中,然后根据组件类型查询此数组?例如,Person.Delete有三个功能,如读取、更新和删除。如果我们的数组像这样000002000000,我们知道数组的第6个值等于我们的Person动作。结果,数组的第6个值是2,这意味着用户将执行所有操作。如果该值等于1,则用户仅执行更新和读取操作。这是一个想法……这种方法听起来不错,唯一的问题是如何在Extjs上实现:Thanks@VAAA,有一个旧条目:,我最终在客户端和服务器端实现了安全性。这使您的应用程序更加安全。如果您只在客户端拥有安全性,那么有一些方法可以绕过它。最好在服务器端进行检查