জ্যাংগো Authentication ব্যাসিক

আজকে আমরা জ্যাংগো Authentication এর উপরে কিছু হালকা ধারণা নিবো। জ্যাংগো এর নিজস্ব authentication framework আছে। যার মাধ্যমে আমরা খুব সহজে ই আমাদের প্রজেক্ট এ লগইন ফাঙ্কশনালিটি অ্যাড করতে পারি। এছাড়াও এটা আমাদেরকে বেশ কিছু সুবিধা প্রদান করে থাকে।
User Model.
Permissions — আলাদা আলাদা User এর আলাদা আলাদা পাওয়ার
Groups — এক বা একধিক ব্যাক্তি কে বিভিন্ন Permission access দেয়ার একটা সিস্টেম
password hashing system.
Form, views and URL patterns to login/logout users.

বিষয়গুলো আমাদের কাছে একটু নুতন মনে হবে। কারণ অনেক কিছু সংজ্ঞা দিয়ে বুঝানো যায়না। রিয়েল লাইফ কাজ করলে আমরা বাস্তবতা বুঝতে পারবো।

Django এর ২ ধরণের ইউজার আছে।
১.AnonymousUser: যে সকল ইউজার লগইন ছাড়া থাকে তাদেরকে AnonymousUser বলা হয়। যেমন আমরা যদি আমাদের ব্লগ এর কথা ই ধরি, তাহলে দেখবো কিছু কিছু user লগইন না করেই পোস্ট পড়তে পারবে। এরা হলো AnonymousUser.এরা সবাই AnonymousUser মডেল এর অন্তর্ভুক্ত।

২.User:যারা লগইন অবস্থায় থাকে। এরা সবাই User মডেল এর অন্তর্ভুক্ত।
এই User মডেল এর বেশ কিছু attribute আছে। username,password,first_name,last_name,email,is_active,is_superuser,is_staff,date_joined,last_login.

username: required ফিল্ড।
password: required ফিল্ড
first_name: optional field.
last_name: optional field
email:অপশনাল ফিল্ড। ইমেইল রাখার জন্য ব্যবহার করা হয়।
is_active:এটা একটা boolean field.যেটা ture হলে ,বুঝায় যে এটা দিয়ে লগইন করা যাবে।
is_superuser:এটা একটা boolean field. এটা চেক করে যে একজন user এর সকল পারমিশন আছে কিনা।
is_staff:এটা একটা boolean field.যদি true হয় তাহলে user জ্যাংগো এর অ্যাডমিন সাইট access করতে পারে।
date_joined: user যখন একাউন্ট create করে তখনকার ডেট এবং সময়।
last_login:user এর লাস্ট লগইন এন্ড logout এর date এবং টাইম থাকে
অধিকাংশ সময়ে আমরা User মডেল নিয়ে ই কাজ করি।

এখানে একটা বিষয় আমাদের মনে রাখা দরকার ,সাধারণত আমরা যখন কোনো একটা অবজেক্ট তৈরি করি তখন কি করি ? model_name.objects.create (required_field_name ) দেই। কিন্তু User মডেল এর বিষয়টা একটু ভিন্ন।
আমরা যদি দেই User.objects.create( username = ‘hasib’, password = ‘pass’) দেই তখন যেটা হবে আমাদের ডাটা সেভ হবে ঠিক ই ,কিন্তু যখন আমরা লগইন করবো তখন দেখবো ভুল পাসওয়ার্ড দেয়ার একটা এরর দেখাচ্ছে। কারণ হলো create() মেথড পাসওয়ার্ড কে প্লেইন টেক্সট হিসাবে সেভ করে। যার কারণে পাসওয়ার্ড ফিল্ড এর ভ্যালু none হয়ে থাকে।
এই সম্যস্যা সমাধানের জন্য আমরা create() মেথড এর পরিবর্তে create_user() ব্যবহার করবো।কারণ create_user() মেথড automatically পাসওয়ার্ড এর ভ্যালু কে হ্যাশ ফরম্যাট এ কনভার্ট করে।

“ব্লগ পোস্টের ব্যাপারে আপনার যে কোনো মতামত কমেন্টে জানাতে পারেন। ভুল ত্রুটি পেলে সংশোধন করে দিলে চির কৃতজ্ঞ থাকিব “

3 thoughts on “জ্যাংগো Authentication ব্যাসিক”

  1. Nehal Arefin

    Please make a tutorial on Django Ecommerce. There is a Django Ecommerce tutorial on Youtube channel “JustDjango”. But its really hard to understand.

Leave a Comment

Your email address will not be published. Required fields are marked *