我有一个网站,其中一个页面包含一些选项卡,当选择其中一个选项卡时,它的内容会通过 AJAX 调用从服务器检索。每个选项卡都是通过不同的控制器加载的。例如,我有一个客户页面,其中包含产品和客户选项卡。
该网站有不同类型的用户,具有不同的权限级别。
我想要做的是保护控制器,并仅在已登录用户具有权限时显示选项卡的内容。因此,如果没有权限的用户输入控制器的 URL,则应重定向到登录页面。URL 如下:
该网站有不同类型的用户,具有不同的权限级别。
我想要做的是保护控制器,并仅在已登录用户具有权限时显示选项卡的内容。因此,如果没有权限的用户输入控制器的 URL,则应重定向到登录页面。URL 如下:
http://localhost/MyApp/Products/1
其中1是产品的数据库ID。
我可以实现这两个解决方案,但它们都不是最优解:
使用ChildOnlyAction属性。我会在Product控制器的操作中标注此属性,并使用RenderAction从主视图呈现选项卡。但这意味着必须呈现页面上的所有选项卡,这并不是最优的,因为我只想在用户单击选项卡时加载数据。
对于Product控制器的每个请求,我将使用记录的ID进行数据库查询,以检查用户是否有权限访问它。但这意味着对于每个请求,我都必须运行额外的查询。
我想知道是否有更好的方法来解决这个问题。