如何:基于用户角色ASP.Net MVC 3的必需验证器
我有一个表单,其中有一个字段“Real Cost”,我想自定义它的外观,并根据用户角色验证它 更清楚的是,客户希望在表单或详细信息页面中显示其字段,并使其对“高级销售、经理”角色中的用户可编辑,而不是其他角色,因此,有谁能告诉我最好的方法吗 我是否应该基于角色中的用户编写自定义的必需验证,如果是,请提供正确的实现 有些人可能会告诉我为此创建自定义模型,但我认为这会很麻烦,而且角色将是动态的,因此它不是预定义的角色集如何:基于用户角色ASP.Net MVC 3的必需验证器,asp.net,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-2-validation,Asp.net,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 2 Validation,我有一个表单,其中有一个字段“Real Cost”,我想自定义它的外观,并根据用户角色验证它 更清楚的是,客户希望在表单或详细信息页面中显示其字段,并使其对“高级销售、经理”角色中的用户可编辑,而不是其他角色,因此,有谁能告诉我最好的方法吗 我是否应该基于角色中的用户编写自定义的必需验证,如果是,请提供正确的实现 有些人可能会告诉我为此创建自定义模型,但我认为这会很麻烦,而且角色将是动态的,因此它不是预定义的角色集 我希望我已经足够清楚了安全性肯定应该发生在模型或控制器中,但决不能发生在视图中—
我希望我已经足够清楚了安全性肯定应该发生在模型或控制器中,但决不能发生在视图中——这远远超出了视图的关注范围。这是为了显示控制器提供给它的数据。要扩展@Wyatt,您需要在模型级别做出所有这些决策,然后用所有答案填充“视图模型”,然后可以在视图中使用这些答案来改善用户体验
在此表单的ViewModel中,设置属性IsRealCostEditable,该属性将由服务/模型层通过检查用户角色来设置。现在,您可以轻松地调整该字段的UI。您可以创建重复页面,并且一个页面可以包含视图模型,该模型不会更改页面中的任何内容。。。您可以使用编辑按钮重定向到可编辑页面。 使用身份验证保护该页面。因此,在编辑角色之前,将要求您作为角色进行身份验证 否则。。您的ViewModel无法做出决策,它位于服务层