【发布时间】:2014-12-18 08:05:08
【问题描述】:
我正在开发一个 Asp.Net MVC 应用程序,用户可以使用具有两种不同角色的淘汰 JS 和 Odata 登录并查看从数据库中检索到的数据,一个可以添加、编辑和删除数据,另一个只是读取数据.
例如,我从 SQl 表中拉出三个字段到网页公司、产品和价格
管理员视图如下
<td data-bind="text: Company"></td>
<td data-bind="text: Product"></td>
<td data-bind="text: Price"></td>
<td class="actioncells">
<a class="btn btn-success" title="Edit" data-bind="click: $root.edit">Edit</a>
</td>
<td class="actioncells">
<a class="btn btn-success" title="Edit" data-bind="click: $root.delete">Del</a>
</td>
客户视图(只读)
<td data-bind="text: Company"></td>
<td data-bind="text: Product"></td>
<td data-bind="text: Price"></td>
家庭控制器
[Authorize]
public ActionResult Index()
{
return View();
}
[Authorize(Roles = "Admin")]
public ActionResult Admin()
{
return View();
}
以上工作正常,但我让每个用户都与一家公司相关联,我想显示一个视图,以便无论他担任什么角色,但他仍然应该能够编辑和删除他所关联的公司的数据。我不知道如何处理它,我在不同的表中有以下数据
用户资料
UserId UserName
1 demo_admin
2 test
3 sample
公司
Id CName
1 XCorp
2 YCorp
3 ZCorp
用户公司
Id CompanyId UserId
1 2 3
2 3 2
Data_Items
Id CompanyID CompanyName Price
1 2 XCorp 100
2 3 ZCorp 58
2 3 ZCorp 75
根据来自不同表的上述数据,我假设用户demo_admin 为admin 和test 和sample 用户分别为与ZCorp 和YCorp 关联的客户。
因此,在用户登录时的输出页面上demo_admin 应该能够edit 和delete 用户test 和sample 应该能够edit 和delete @987654341 的所有日期@ 和YCorp 数据,只能查看剩余数据,即XCorp。
【问题讨论】:
标签: c# asp.net-mvc html knockout.js sql-server-2012