【发布时间】:2017-02-20 23:14:55
【问题描述】:
我正在迁移到使用安全令牌对用户进行身份验证的 Azure。所以现在我在消息的标题中传递安全令牌并使用服务器端的 IDispatchMessageInspector 行为读取它。基本机制工作得很好,但是当令牌无法通过身份验证时,我需要拒绝它,就像它未能通过 UserNamePasswordValidator 一样。我如何完成这段代码的任何想法:
public object AfterReceiveRequest(ref Message request, IClientChannel channel, InstanceContext instanceContext)
{
if (!this.IsAuthenticated(securityToken))
{
<Return Error Message Structure>
}
}
【问题讨论】:
-
这是基于 SOAP 还是 REST?
-
没有肥皂,花生。两者我都会回答。
-
对于 RESTful 服务,显而易见的做法是返回服务器 403 响应,并带有一个可选的响应正文,说明信息是什么。
-
你试过在 if 块中抛出异常吗?
标签: wcf wcf-security