-1
我正在通過mvc3構建Web應用程序。現在我需要創建一個將之前的每個控制器像下面放置一個屬性:如何創建驗證生產密鑰的自定義屬性
[CustomAttribute]
public class DocinstanceController : Controller
{}
這個屬性是用來驗證生產的關鍵和直接到預定義的網頁,如果關鍵是錯誤。
我的問題是如何創建這樣的屬性?
感謝
我正在通過mvc3構建Web應用程序。現在我需要創建一個將之前的每個控制器像下面放置一個屬性:如何創建驗證生產密鑰的自定義屬性
[CustomAttribute]
public class DocinstanceController : Controller
{}
這個屬性是用來驗證生產的關鍵和直接到預定義的網頁,如果關鍵是錯誤。
我的問題是如何創建這樣的屬性?
感謝
這裏有一個簡單的方法(按@ Hackerman的建議):
public class CheckKeyAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var keyController = filterContext.Controller as IKeyController;
if (keyController != null && keyController.Key != "MyKey")
{
filterContext.HttpContext.Response.Redirect("NoKey");
}
}
}
public interface IKeyController
{
string Key { get; set; }
}
[CheckKey]
public class HomeController : Controller, IKeyController
{
public ActionResult Index()
{
ViewBag.Message = "Welcome to ASP.NET MVC!";
return View();
}
public ActionResult About()
{
return View();
}
public string Key
{
get
{
return "MyKey1";
}
set
{
}
}
}
什麼是 「驗證生產的重點」 是什麼意思?您是否試圖實施某種DRM? – Jamiec
#RTFM ....沒有,只是騎馬,但:https://msdn.microsoft.com/en-us/library/dd410056(v=vs.100).aspx – Hackerman