【发布时间】:2014-03-11 14:45:46
【问题描述】:
在我的 wcf 数据服务中,我通过以下方式阻止客户修改客户:
// This method is called only once to initialize service-wide policies.
public static void InitializeService(DataServiceConfiguration config)
{
// TODO: set rules to indicate which entity sets and service operations are visible, updatable, etc.
config.SetEntitySetAccessRule("Customers", EntitySetRights.None); // <------- HERE
config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V3;
}
有没有办法在表customers 的特定列上设置规则? 例如,我只想在 CustomerPassword 列上启用阅读。
解决方案是将客户的所有我不希望客户修改的部分移动到单独的表中。 这种方法需要我对我的数据库进行大量更改如果我可以在表列而不是整个表上设置权限,那就太棒了。
此外,即使我将不希望客户修改的所有客户列(例如 CustomerPassword、DateConnected 等)移动到何处,我将如何防止客户修改该客户的 ID。总会有一列我无法保护。
【问题讨论】:
标签: c# entity-framework permissions wcf-data-services