লারাভেল অথেন্টিকেশন মিডলওয়্যার কীভাবে রাউট এবং কন্ট্রোলার এক্সেস কন্ট্রোল করতে ব্যবহার করা হয় সে সম্পর্কে উদাহরণসহ বিস্তারিত আলোচনা করা হয়েছে। ( Laravel: Auth Middleware | ( Bangla ) — Part 8.4 )
প্রিয় পাঠক, লারাভেল authentication middleware এর ব্যবহার নিয়ে আলোচনা করবো।
অথেন্টিকেশন মিডলওয়্যারগুলো রাউট, কন্ট্রোলার এক্সেস কন্ট্রোল করে।
যেমন, web middleware group এ auth middleware অ্যাড করলে সেই গ্রুপের সব রাউট প্রতেক্ষ করার জন্য লগইন প্রয়োজন হবে।
Route::middleware(['auth'])->group(function () {
Route::get('/dashboard', function () {
// Users must be logged in to access this route.
});
});
মিডলওয়্যার ব্যবহার করে সহজেই অথেন্টিকেশন ভিত্তিক এক্সেস কন্ট্রোল করা যায়।
এই ব্লগ পোস্টটি ল্যারাভেল 10-এ অথ মিডলওয়্যার সম্পর্কে একটি বিস্তারিত শিক্ষামূলক ব্যাখ্যা প্রদান করবে৷ এটি উদাহরণ, বিভিন্ন ব্যবহার এবং কেস সহ বাংলা ভাষায় লেখা হবে৷ একটি ছোট প্রোগ্রামও অতিরিক্ত ব্যাখ্যা প্রদানের জন্য অন্তর্ভুক্ত করা হবে৷
ভূমিকা
মিডলওয়্যার হল একটি শক্তিশালী টুল যা আপনাকে অনুরোধ এবং প্রতিক্রিয়া চক্রের বিভিন্ন পর্যায়ে কাস্টম লজিক প্রয়োগ করতে দেয়৷ Laravel 10 অথ মিডলওয়্যার সহজেই প্রয়োগযোগ্য অনেকগুলি মিডলওয়্যার সরবরাহ করে৷ এই ব্লগ পোস্টে, আমরা অথ মিডলওয়্যার সম্পর্কে বিস্তারিতভাবে আলোচনা করব৷
অথ মিডলওয়্যার কি?
অথ মিডলওয়্যার হল একটি Laravel মিডলওয়্যার যা অননুমোদিত ব্যবহারকারীদের সুরক্ষিত রুটে অ্যাক্সেস করা থেকে বিরত রাখে৷ এটি নিশ্চিত করে যে অনুরোধটি অনুমোদিত ব্যবহারকারী দ্বারা করা হয়েছে কিনা তা যাচাই করার জন্য মিডলওয়্যার স্বয়ংক্রিয়ভাবে কাজ করে৷
অথ মিডলওয়্যার কনফিগার করা
অথ মিডলওয়্যারটি ডিফল্টভাবে সুরক্ষিত করে এমন রুটগুলির “web” মিডলওয়্যার গ্রুপে স্বয়ংক্রিয়ভাবে যুক্ত হয়৷ তবে, আপনি আপনার প্রয়োজন অনুযায়ী মিডলওয়্যারটি কনফিগার করতে পারেন৷ routes/web.php ফাইলে নিম্নলিখিত লাইনটি যুক্ত করে আপনি একটি নির্দিষ্ট রুটে অথ মিডলওয়্যারটি নিয়োগ করতে পারেন:
Route::get('my-route', 'MyController@myMethod')->middleware('auth');
অথ মিডলওয়্যার ব্যবহার করা
অথ মিডলওয়্যারটি অননুমোদিত ব্যবহারকারীদের সুরক্ষিত রুটে অ্যাক্সেস করা থেকে বিরত রাখতে ব্যবহার করা হয়৷ যখন কোনো অনুমোদিত ব্যবহারকারী একটি সুরক্ষিত রুটে অ্যাক্সেস করার চেষ্টা করে, তখন অথ মিডলওয়্যারটি স্বয়ংক্রিয়ভাবে নিশ্চিত করে যে ব্যবহারকারীটি লগ ইন করা আছে কি না৷ যদি ব্যবহারকারীটি লগ ইন না করা থাকে, তবে অথ মিডলওয়্যারটি ব্যবহারকারীকে লগইন পেজে পুনঃনির্দেশিত করবে৷
অথ মিডলওয়্যার ওভাররাইড করা
কিছু ক্ষেত্রে, আপনি নির্দিষ্ট রুট বা কন্ট্রোলারের জন্য অথ মিডলওয়্যারের ডিফল্ট আচরণটি ওভাররাইড করতে চাইতে পারেন৷ এটি করার জন্য, আপনি ফলোয়িং পদ্ধতিগুলোর একটি ব্যবহার করতে পারেন:
- মিডলওয়্যার গ্রুপ ক্রিয়েট করা: আপনি একটি নতুন মিডলওয়্যার গ্রুপ তৈরি করতে পারেন এবং সেই গ্রুপে অথ মিডলওয়্যারটি অন্তর্ভুক্ত করতে পারেন৷ তারপর, আপনি আপনার প্রয়োজন অনুযায়ী মিডলওয়্যার গ্রুপটিকে নির্দিষ্ট রুট বা কন্ট্রোলারে নিয়োগ করতে পারেন৷
- মিডলওয়্যার অপশনস কনফিগার করা: আপনি middleware/Authenticate.php ফাইলে অথ মিডলওয়্যারের ডিফল্ট অপশনগুলোকে কনফিগার করতে পারেন৷ এই অপশনগুলি নিয়ন্ত্রণ করে যে অথ মিডলওয়্যারটি কিভাবে আচরণ করে, যেমন ব্যবহারকারীকে লগইন পেজে পুনঃনির্দেশিত করা বা একটি JSON প্রতিক্রিয়া ফেরত দেওয়া৷
ছোট প্রোগ্রাম
নীচের ছোট প্রোগ্রামটি অথ মিডলওয়্যারের একটি সহজ বাস্তবায়ন দেখায়:
// routes/web.php
Route::get('my-route', 'MyController@myMethod')->middleware('auth');
// app/Http/Controllers/MyController.php
namespace App\Http\Controllers;use Illuminate\Http\Request;class MyController extends Controller
{
public function myMethod(Request $request)
{
// এই রুটে শুধুমাত্র লগইন করা ব্যবহারকারীরা অ্যাক্সেস করতে পারবে৷
}
}
উপসংহার
অথ মিডলওয়্যার ল্যারাভেল 10-এ প্রদত্ত একটি শক্তিশালী টুল৷ এটি অননুমোদিত ব্যবহারকারীদের সুরক্ষিত রুটে অ্যাক্সেস করা থেকে বিরত রাখতে ব্যবহার করা হয়৷ আপনি আপনার প্রয়োজন অনুযায়ী অথ মিডলওয়্যারটি কনফিগার এবং ওভাররাইড করতে পারেন৷ এই ব্লগ পোস্টটি অথ মিডলওয়্যার সম্পর্কে একটি বিস্তারিত ব্যাখ্যা সরবরাহ করেছে, যা আপনাকে আপনার ল্যারাভেল প্রজেক্টে এটি কার্যকরভাবে ব্যবহার করতে সাহায্য করবে৷
এই বিষয়ে আরো জানতে,
Official Docs Protecting Routes পড়ুন৷