很好奇是否有办法在进行方法调用之前检查用户是否经过身份验证,然后返回自定义对象,如果不是,则不完成调用。例如:
我们在 global.asax 中的 Application_PostAuthenticateRequest 中将用户主体设置为发出请求的用户(如果他们已通过身份验证)或匿名用户(如果未通过身份验证)。目前在所有需要身份验证的方法中,我们都有类似于以下代码的内容:
public Result GetSomeObject()
{
if (HttpContext.Current.Request.IsAuthenticated)
{
}
}
底线:我们希望能够在让 WCF 进入需要身份验证的方法的方法之前检查 IsAuthenticated,如果为 true,则继续,如果不是,则返回带有身份验证错误的 Result 对象 (JSON)。