如何自定义IgnoreDataMember属性以处理用户角色?

时间:2016-05-11 17:22:52

标签: c# asp.net

我们可以自定义IgnoreDataMember属性来处理用户角色吗?我正在寻找类似的东西[IgnoreDataMemeber(Roles =“Admin”)]。

此外,是否还有其他属性可根据用户角色有条件地序列化属性? 例如。 [SomeAttribute(Roles =“Admin”)]。

1 个答案:

答案 0 :(得分:0)

我不会这样做。依赖于用户是在一个角色还是另一个角色的任何东西都是应用程序逻辑。你肯定不希望业务逻辑被隐藏在一个看似无关的属性中(确定哪些字段被序列化。)如果你可以让它做你想要的,如果你想用一些保存数据会发生什么其他串行器或以其他方式分享?如果您的逻辑内置于该属性中,则无法在任何其他方案中应用它。 (或者人们会用你的代码做一些非常奇怪的事情,因为它们依赖于序列化程序来应用业务逻辑。)

要更直接地回答您的问题,请不要修改此属性的行为。它的definition表明它是密封的,这意味着你不能继承它。