46 lines
1.3 KiB
C#
46 lines
1.3 KiB
C#
|
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();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|