如果这是表单的常规帖子,我可以转到 Request.Form['somevalue'] 并获取值。如果这是一个带有查询字符串的 get,我可以转到 Request.QueryString["somevalue"] 并获取该值。
发布 ajax 请求时原始数据在哪里。我需要过滤方法中原始数据字符串中的一个值。
任何帮助将不胜感激!!
以下编辑:
public class ValidateAntiForgeryId : FilterAttribute, IAuthorizationFilter {
public void OnAuthorization(AuthorizationContext filterContext) {
if (filterContext == null) {
throw new ArgumentNullException("filterContext");
}
Guid filterGuid;
Guid.TryParse(filterContext.RequestContext.HttpContext.Request.Form["__sessionId"], out filterGuid);
if (filterGuid == Guid.Empty)
throw new AuthenticationException("Authentication failure");
try {
var cookieGuid = (Guid)filterContext.RequestContext.HttpContext.Items["SessionId"];
} catch {
throw new AuthenticationException("Authentication failure");
}
}
发布的数据如下所示:
{"SsnLastFour":"2222","AccountNumber":"B112233","__sessionId":"dca0a504-3c40-4118-ae19-afefb9bfc8bd"}
我需要访问过滤器内的 __sessionId 块。