c# - 根据身份验证状态拦截 WCF 方法调用和 "Re-route"

标签 c# wcf authentication intercept

很好奇是否有一种方法可以在进行方法调用之前检查用户是否已通过身份验证,然后返回一个自定义对象,如果没有,则不完成调用。例如:

我们在 global.asax 的 Application_PostAuthenticateRequest 中将用户主体设置为发出请求的用户(如果他们已通过身份验证)或匿名用户(如果未通过身份验证)。目前在所有需要身份验证的方法中,我们都有类似于以下代码的内容:

公共(public)结果 GetSomeObject()
{
如果(HttpContext.Current.Request.IsAuthenticated)
{


}

底线:在让 WCF 进入需要身份验证的方法的方法之前,我们希望能够检查 IsAuthenticated,如果为真,则继续,否则,返回带有身份验证错误的结果对象 (JSON)。

最佳答案

需要开发的是WCF中的ServiceAuthorizationManager。您可以在以下位置找到更多相关信息:

http://pieterderycke.wordpress.com/2011/04/07/implementing-restricted-access-to-a-wcf-service-with-the-serviceauthorizationmanager/

关于c# - 根据身份验证状态拦截 WCF 方法调用和 "Re-route",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5340000/

相关文章:

c# - 使用 PCL 的跨平台项目中平台特定功能的项目架构

javascript - 如何在 LINQPad 中的代码中单击按钮(而不是通过鼠标)?

c# - .Net Remoting 与 WCF

wcf - 在 NetNamedPipe 服务端点的端点地址上设置 SPN

c# - 使用 Unity 时配置 WCF 客户端的 MaxItemsInObjectGraph

laravel - 使用 Nuxt 前端实现 Laravel 7 Passport 身份验证

python - 如何从 python 发布到 hipchat

c# - 从 byte[] 下载文件 C# MVC

c# - 替换属性值的数据注释?

eclipse - 安装自签名 p12 证书后在 firefox 上获取 ssl_error_bad_cert_alert