カスタム認証属性がasp.netクラスで呼び出されないため、何が欠けているのかわかりません。カスタムASP.NET属性が呼び出されない
私の属性は次のようになります。
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Method)]
public class MyAuthorize : System.Web.Http.AuthorizeAttribute
{
public override void OnAuthorization(HttpActionContext actionContext)
{
// ...
}
protected bool AuthorizeCore(HttpContextBase httpContext)
{
// Logic here.
return false;
}
}
そして、私はそうのようなWebサービスの内部からそれを呼んでいる:
[WebService(Namespace = "http://something/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class AccessPoint : System.Web.Services.WebService
{
[WebMethod]
[MyAuthorize]
public bool SomeWebMethod(int a)
{
//Do stuff
return false;
}
}
私はそれを実行するたび、それは右を通じて、決して落ちます属性をトリガーします。 FYI; System.Web.Mvc.AuthorizeAttributeはAuthorizeAttributeが存在しないと私に伝えていたので、System.Web.Http.AuthorizeAttributeを使用しました。
System.Web.Http.AuthorizeAttributeは、WebApiコントローラでのみ使用されます。 MVCやその他のサービスでは無視されます。ここには、MVCでもWebApiでもないXML Webサービスがあります。レガシーWebサービスのセキュリティについては、http://stackoverflow.com/a/36214224/61164を参照してください。 –
すごく、それは私が知る必要があった、私をまっすぐに設定してくれてありがとう。 – punkysmurf