ASP.NET Core এর Middleware হলো সেই কম্পোনেন্টগুলো যা HTTP রিকোয়েস্ট এবং রেসপন্স প্রসেস করার জন্য ব্যবহৃত হয়। প্রতিটি Middleware একটি নির্দিষ্ট কাজ করে এবং তারা একে অপরের সঙ্গে কাজ করে যাতে পুরো অ্যাপ্লিকেশনটি সঠিকভাবে কাজ করতে পারে। ASP.NET Core অনেক ধরনের বিল্ট-ইন Middleware প্রদান করে যা বিভিন্ন কাজের জন্য ব্যবহার করা হয়।
এখানে কিছু গুরুত্বপূর্ণ Built-in Middleware এর উদাহরণ দেওয়া হলো, যেমন Static Files এবং Authentication Middleware।
Static Files Middleware হলো ASP.NET Core-এর একটি built-in Middleware যা স্ট্যাটিক ফাইল (যেমন CSS, JavaScript, ইমেজ, ফন্টস) সার্ভ করতে ব্যবহৃত হয়। এটি সাধারণত wwwroot ফোল্ডারের মধ্যে স্টোর করা ফাইলগুলিকে ওয়েব ব্রাউজারে সরাসরি পাঠায়।
ASP.NET Core অ্যাপ্লিকেশনটিতে wwwroot ফোল্ডারে স্ট্যাটিক ফাইল রাখতে হয়, এবং আপনি Startup.cs
ফাইলে Static Files Middleware কনফিগার করতে পারেন।
Startup.cs ফাইলে Static Files Middleware কনফিগার করার উদাহরণ:
public class Startup
{
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// Development environment এ error pages দেখানোর জন্য
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
// Static files middleware যোগ করা
app.UseStaticFiles();
// অন্যান্য middleware গুলি
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
}
এখানে, app.UseStaticFiles();
স্ট্যাটিক ফাইল সার্ভ করার জন্য Middleware কে অ্যাকটিভেট করে। এখন, wwwroot
ফোল্ডারের ভিতরে থাকা ফাইলগুলো ব্রাউজারে সরাসরি অ্যাক্সেস করা যাবে। যেমন:
Authentication Middleware হলো ASP.NET Core-এর আরেকটি গুরুত্বপূর্ণ built-in Middleware যা অ্যাপ্লিকেশনের মধ্যে ব্যবহারকারীর পরিচয় যাচাই করতে ব্যবহৃত হয়। এটি Cookie Authentication, JWT Bearer Tokens, অথবা OAuth এর মতো প্রক্রিয়া ব্যবহার করতে পারে। Authentication Middleware অ্যাপ্লিকেশনের একাধিক জায়গায় ব্যবহারকারীর লগইন, সাইন-আপ এবং লগআউট প্রক্রিয়া পরিচালনা করে।
ASP.NET Core অ্যাপ্লিকেশনটিতে Authentication Middleware কনফিগার করার জন্য, আপনাকে Startup.cs
ফাইলে যথাযথ সেটিংস কনফিগার করতে হবে। উদাহরণস্বরূপ, Cookie Authentication কনফিগারেশন করা যাক:
Startup.cs ফাইলে Cookie Authentication কনফিগার করার উদাহরণ:
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
// Authentication service কনফিগার করা (cookie authentication)
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(options =>
{
options.LoginPath = "/Account/Login"; // লগইন পাথ
options.AccessDeniedPath = "/Account/AccessDenied"; // অ্যাক্সেস ডিনাইড পাথ
});
// অন্যান্য সেবা কনফিগারেশন
services.AddControllersWithViews();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// Development environment এ error pages দেখানোর জন্য
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
// Static files middleware
app.UseStaticFiles();
// Authentication middleware
app.UseAuthentication(); // Authentication middleware কনফিগার করা
// Authorization middleware
app.UseAuthorization();
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
}
এখানে, app.UseAuthentication();
Authentication Middleware কে সক্রিয় করে, যা সমস্ত রিকোয়েস্টে ব্যবহারকারীর লগইন বা টোকেন যাচাই করবে।
উপরের কনফিগারেশনে AddCookie ব্যবহার করা হয়েছে, যা কুকি বেসড Authentication প্রক্রিয়া ব্যবহারের জন্য। যখন ব্যবহারকারী লগইন করবেন, তখন একটি কুকি তৈরি হবে যা সার্ভারের সঙ্গে যোগাযোগ করে ব্যবহারকারীর সেশন চিহ্নিত করবে।
ASP.NET Core আরও অনেক Built-in Middleware সরবরাহ করে, যা আপনাকে বিভিন্ন প্রয়োজনীয় কাজ করতে সাহায্য করে। এর মধ্যে কিছু গুরুত্বপূর্ণ Middleware হলো:
ASP.NET Core তে Built-in Middleware গুলি সিস্টেমের বিভিন্ন অংশ যেমন স্ট্যাটিক ফাইল, Authentication, Routing, Authorization ইত্যাদি পরিচালনা করতে সাহায্য করে। Static Files Middleware স্ট্যাটিক ফাইল সার্ভ করার জন্য ব্যবহৃত হয়, এবং Authentication Middleware ব্যবহারকারীর লগইন এবং সেশন ম্যানেজমেন্ট পরিচালনা করে। ASP.NET Core-এর Middleware সিস্টেমটি অত্যন্ত ফ্লেক্সিবল এবং কাস্টম Middleware তৈরি করার সুযোগও প্রদান করে, যা আপনাকে আপনার অ্যাপ্লিকেশন প্রয়োজন অনুযায়ী কাস্টমাইজ করতে সহায়তা করে।
common.read_more