繁体   English   中英

您可以使用RIA Services向实体属性添加安全性吗?

[英]Can you add security to an entity Property with RIA Services?

RIA服务允许您将属性添加到域服务方法中,例如:RequiresRole(“ Admin”)。 这将自动检查调用该方法的用户是否具有正确的安全性。 我想对实体上的属性执行类似的操作。 例如,只允许角色“ Manager”中的用户更改“ Rate”属性,但任何用户都可以更改“ Comments”属性。 这可能吗?

更好的支持属性安全性的方法是重写DomainService.Query方法,这样您就可以避免加载大量过多的数据。 在这里博客更多关于它。

您可以使用“ 自定义验证”属性来执行此操作。 您可以创建一个诸如RequiresManagerRole的属性,该属性将检查该用户是否具有Manager角色,如果该用户不在,则不允许更改。

但是,对于用户而言,这可能不是很好的体验。 您可能想以某种方式绑定表单中的readonly属性,以判断该属性是否可编辑。 您可能可以使用IValueConverter做到这一点,并在值转换器中检查用户的角色以确定它是否为只读。

更新:好的,我认为Brad看到了这个问题,并写了这篇博客文章来解决 这应该可以解决您要执行的操作,但是要采取不同的方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM