আমার একটি ওয়ার্কিং নেটकोर ২.২ প্রকল্প রয়েছে যেখানে আমি একটি কাস্টম নীতি প্রয়োগ করেছি যা এপিআই কীগুলির জন্য পরীক্ষা করে।
প্রারম্ভিকাগুলিতে আমি এই নীতিটি যুক্ত করছি
//Add Key Policy
services.AddAuthorization(options =>
{
options.AddPolicy("AppKey", policy => policy.Requirements.Add(new AppKeyRequirement()));
});
আমার AppKeyRequirement এ আমি অনুমোদন হ্যান্ডলার থেকে উত্তরাধিকারী এবং আগত অনুরোধগুলির কীগুলি এই জাতীয় সমাধান করে
protected override Task HandleRequirementAsync(AuthorizationHandlerContext authContext, AppKeyRequirement requirement)
{
var authorizationFilterContext = (AuthorizationFilterContext)authContext.Resource;
var query = authorizationFilterContext.HttpContext.Request.Query;
if (query.ContainsKey("key") && query.ContainsKey("app"))
{ // Do stuff
এটি নেটকোর ৩.১ এ কাজ করে না
আমি নিম্নলিখিত ত্রুটি পাচ্ছি:
'Microsoft.AspNetCore.Mvc.Filters.AuthorizationFilterContext' টাইপ করতে 'Microsoft.AspNetCore.Routing.RouteEndPoint' টাইপের অবজেক্ট কাস্ট করতে অক্ষম।
মূল 3 এবং তারপরে এটি করার সঠিক উপায় কী?
কার্ক লারকিনের নির্দেশ অনুসারে, নেট 3.0.০ এবং তারপরের সঠিক উপায়টি হ'ল হ্যান্ডলারের মধ্যে আইএইচটিপি কনটেক্সটএ্যাকসেসর ইনজেকশন করা এবং এটি ব্যবহার করা।
এই মুহুর্তে আমার প্রশ্ন হ'ল আমি কীভাবে এটি ইনজেক্ট করব? আমি স্টার্টআপ.কে এ পাস করতে পারছি না বা কমপক্ষে আমি কীভাবে দেখছি না।
কোন ধারণা / ইঙ্গিত অনেক প্রশংসা করা হবে।