【发布时间】:2013-06-06 07:09:57
【问题描述】:
我有一个视图模型,它公开了一些 公共虚拟 ICollection 角色 { 获取;放; }
这对于恢复用户所属的角色非常有用。但是如何从表单更新用户的角色。
为了测试,我尝试添加一个名为“角色”的隐藏字段并输入“管理员”和它的 GUID,因为它是发送回服务器的值:
<input type="hidden" name="Roles" value="Admin" />
<input type="hidden" name="Roles" value="7feab829-b86c-4a94-90bf-f35e9ce04b01" />
但是,当传递到服务器时,我可以看到这种方式会创建无效的模型状态——任何建议将不胜感激!
【问题讨论】:
-
为什么要从表单中更新他们的角色?如果你想更新角色,你应该通过一个完整的单独的(和经过身份验证的)控制器操作来完成,而不是从客户端返回。记住,永远不要相信客户。
-
我正在创建控制器来更新用户(名称/密码/等)。我认为这也是更新角色的好地方。这一切都会被验证。
-
我可以理解允许用户更新他们的姓名和密码,但您是否也希望他们能够更新他们的角色?我只是想确保我理解你的意图。另外,您使用的是默认的会员服务提供商吗?
-
这不适合最终用户 - 这是一个单独的管理部分,用于更新系统用户:) 我明白你为什么在不理解的情况下担心:)
-
明白了。在这种情况下,您可以发布您的控制器吗?我怀疑您需要一个可用角色的下拉列表,以及您的帖子模型上具有下拉列表角色选择的内容。
标签: c# asp.net-mvc user-roles