【问题标题】:asp.net datasource detailsview and CRUD permissionsasp.net 数据源详细信息视图和 CRUD 权限
【发布时间】:2012-10-18 21:20:03
【问题描述】:

感谢您的任何想法。此问题涉及 ASP.NET 4.0 Web 应用程序。

DetailsView 然后使用 ObjectDataSource(尽管任何解决方案都应适用于任何 ASP.NET DataSource 控件)进行 CRUD 操作。

用户有权查看所有记录的详细信息,但只能创建或修改与自己部门相关的单个记录。

显然我可以轻松修改列表视图以显示/删除相应的按钮

if (!_canModifySelectedWard)
{
   dptDetailView.AutoGenerateEditButton = false;
   dptDetailView.AutoGenerateInsertButton = false;
   dptDetailView.AutoGenerateDeleteButton = false;
}

但这只是删除按钮。有没有一种巧妙的方法来禁用编辑/插入/删除功能的能力?我认为一旦用户可以访问此页面,恶意请求就不太可能发生,但删除功能似乎更好,而不仅仅是 UI 元素。

我可以将关联的 objectdatasource 的 InsertMethod 等设置为 null,但这似乎是一种 hack。

【问题讨论】:

  • 查看 Sql Server 中的应用程序角色和安全性。根本不授予基础表 CUD 权限将是另一回事,通过存储过程进行更新将是另一回事

标签: asp.net datasource


【解决方案1】:

您的对象数据源与一个类相关联,该类负责提供对象数据源请求的数据。这是应执行额外检查以确保不会发生未经授权的数据访问的地方。 从用户体验的角度来看,隐藏按钮是一个好主意,但您应该始终确保您的业务规则得到执行。

抱歉,我无法提供更详细的帮助。也许你能更详细地描述你正在做的事情,或者发布一些有帮助的代码。

干杯。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-28
    • 1970-01-01
    • 1970-01-01
    • 2020-05-27
    • 2010-12-06
    • 2015-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多