linux-packaging-mono/mcs/class/System.Web.Mvc3/Mvc/ValidateAntiForgeryTokenAttribute.cs

46 lines
1.3 KiB
C#
Raw Normal View History

namespace System.Web.Mvc {
using System;
using System.Diagnostics;
using System.Web;
using System.Web.Helpers;
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false, Inherited = true)]
public sealed class ValidateAntiForgeryTokenAttribute : FilterAttribute, IAuthorizationFilter {
private string _salt;
public string Salt {
get {
return _salt ?? String.Empty;
}
set {
_salt = value;
}
}
internal Action ValidateAction {
get;
private set;
}
public ValidateAntiForgeryTokenAttribute()
: this(AntiForgery.Validate) {
}
//Modified to compile MVC3 with the newer System.Web.WebPages helpers
internal ValidateAntiForgeryTokenAttribute(Action validateAction) {
Debug.Assert(validateAction != null);
ValidateAction = validateAction;
}
public void OnAuthorization(AuthorizationContext filterContext) {
if (filterContext == null) {
throw new ArgumentNullException("filterContext");
}
//Modified to compile MVC3 with the newer System.Web.WebPages helpers
ValidateAction();
}
}
}