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;
}
}
그리고 내가 좋아하는, 그래서 WebService를 내부에서 호출 해요 :
이[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 및 기타 서비스에서 무시됩니다. 여기에 XML 웹 서비스가 있는데, MVC 또는 WebApi가 아닙니다. 레거시 웹 서비스 보안에 대한 자세한 내용은 http://stackoverflow.com/a/36214224/61164를 참조하십시오. –
굉장, 그게 내가 알아야 할 필요가있어, 나를 똑바로 세워 줘서 고마워. – punkysmurf