WCF RIA Services如何处理身份验证/授权/安全性?

时间:2010-03-16 08:00:40

标签: ajax security authentication authorization wcf-ria-services

由于没有人回答这个问题:

What issues to consider when rolling your own data-backend for Silverlight / AJAX on non-ASP.NET server?

让我用另一种方式问:

WCF RIA服务如何处理较低级别的身份验证/授权/安全性?

  • e.g。服务器上的应用程序如何确定更改数据的传入http请求来自有效客户端,而不是来自非理想来源,例如拒绝服务机器人?

1 个答案:

答案 0 :(得分:1)

根据我的调查,所有对RIA服务类的调用都是通过自定义IOperationInvoker类强制执行的(由自定义IOperationBehavior类强制执行)。这个调用者调用DomainService来执行操作。

在执行之前,方法调用将验证在相关操作上标记的任何/所有AuthorizationAttribute属性。每个AuthorizationAttribute(提供的两个是RequiresAuthenticationAttribute& RequiresRoleAttribute)都有机会通过抽象的IsAuthorized方法接受或拒绝该调用。

如果这些属性中的任何一个返回“AuthorizationResult.Allowed”以外的内容,则会返回一个UnauthorizedAccessException异常,并返回AuthorizationResult中的ErrorMessage。