很好奇是否有一种方法可以在进行方法调用之前检查用户是否已通过身份验证,然后返回一个自定义对象,如果没有,则不完成调用。例如:
我们在 global.asax 的 Application_PostAuthenticateRequest 中将用户主体设置为发出请求的用户(如果他们已通过身份验证)或匿名用户(如果未通过身份验证)。目前在所有需要身份验证的方法中,我们都有类似于以下代码的内容:
公共(public)结果 GetSomeObject()
{
如果(HttpContext.Current.Request.IsAuthenticated)
{
}
底线:在让 WCF 进入需要身份验证的方法的方法之前,我们希望能够检查 IsAuthenticated,如果为真,则继续,否则,返回带有身份验证错误的结果对象 (JSON)。
最佳答案
需要开发的是WCF中的ServiceAuthorizationManager。您可以在以下位置找到更多相关信息:
关于c# - 根据身份验证状态拦截 WCF 方法调用和 "Re-route",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5340000/