এই নিবন্ধে, আমরা দেখব কিভাবে AppMaster.io নো-কোড প্ল্যাটফর্ম অ্যাপ্লিকেশন ব্যবহারকারীদের ডেটা অ্যাক্সেস করার সমস্যা সমাধান করে।
এটি ব্যবহারকারী, মডারেটর, প্রশাসক এবং অন্যান্য প্রয়োজনীয়তার মতো ভূমিকা প্রবর্তনের মাধ্যমে ঘটে। এই সমাধানটি আপনার নির্মিত অ্যাপ্লিকেশনের ভিতরে আরও নমনীয়তা দেয় এবং বিল্ট অ্যাপ্লিকেশনের ভিতরে তথ্য এবং কার্যকারিতা অ্যাক্সেস নিয়ন্ত্রণ করে।
নিবন্ধটি তাদের জন্য উপযোগী হবে যারা AppMaster.io প্ল্যাটফর্মের কার্যকারিতার মধ্যে ডুব দিতে চান এবং ভূমিকা দ্বারা ডেটা অ্যাক্সেস করার জন্য সেটিংসের পরিপ্রেক্ষিতে এর ক্ষমতা দেখতে চান।
AppMaster.io দ্বারা মডিউল প্রমাণীকরণ
আমাদের প্ল্যাটফর্মে একত্রিত অ্যাপ্লিকেশনে নিবন্ধনটি Auth মডিউল দ্বারা প্রতিনিধিত্ব করা হয়, যা আপনাকে ব্যবহারকারী গোষ্ঠী তৈরি এবং সম্পাদনা করতে এবং তাদের অধিকারগুলি অ্যাক্সেস করতে দেয়। Auth মডিউলটি তৈরি করার সময় এটি ইতিমধ্যেই প্রজেক্টে পূর্বেই ইনস্টল করা আছে।
উপলব্ধ প্রমাণীকরণ মডিউল সেটিংস:
সাইনআপ গ্রুপ - ব্যবহারকারী গ্রুপের তালিকা যা নিবন্ধন করতে পারে;
সাইনআপ - অ্যাপ্লিকেশনটিতে নিবন্ধন করার ক্ষমতা অন্তর্ভুক্ত করে;
সেশন টাইমআউট (মিনিট ) — যে সময় পরে ব্যবহারকারী নিষ্ক্রিয় থাকলে বর্তমান ব্যবহারকারীর সেশন শেষ হবে (মিনিটের মধ্যে)। ডিফল্ট 60 মিনিট;
ব্যর্থ লগইন বিলম্ব (এমএসে) — একটি অসফল লগইন প্রচেষ্টার ক্ষেত্রে সার্ভার প্রতিক্রিয়ার জন্য বিলম্বের সময় (এমএসে)। ডিফল্ট হল 0 ms;
ইমেল নিশ্চিতকরণ প্রয়োজন - একটি বিকল্প যা সক্ষম হলে ইমেলের মাধ্যমে যাচাইকরণ জড়িত;
সাইন-আপ ইউজার অ্যাক্টিভ — প্রতিটি নিবন্ধিত ব্যবহারকারীর জন্য সক্রিয় অ্যাট্রিবিউটকে True- এ সেট করে।
গোষ্ঠী - আপনাকে ব্যবহারকারীর গোষ্ঠী তৈরি এবং সম্পাদনা করতে দেয়।
AppMaster.io মডেলের সাথে কাজ করার জন্য ডেটা মডেল ডিজাইনার ব্যবহার করে।
ব্যবহারকারী এবং ব্যবহারকারী সেশন হল দুটি মডেল যা ডেটা মডেল ডিজাইনারে স্বয়ংক্রিয়ভাবে তৈরি হয়। পূর্বে ইনস্টল করা ডেটা মডেল ক্ষেত্রগুলি সংশোধন বা মুছে ফেলা যাবে না, তবে নতুন যোগ করা যেতে পারে।
এই মডেলগুলির জন্য, ব্যবসায়িক প্রক্রিয়াগুলির ব্লকগুলি (BP) স্বয়ংক্রিয়ভাবে তৈরি হয়।
ব্যবহারকারী এবং ব্যবহারকারীর সেশনের সাথে যুক্ত স্বয়ংক্রিয়ভাবে তৈরি বিপি
- ব্যবহারকারী মডেল
ডিবি: ব্যবহারকারী মুছুন — আইডির মাধ্যমে ডেটাবেস থেকে অবজেক্ট ব্যবহারকারী মুছুন;
DB: Update User — ডাটাবেসের ইনপুটে পাস করা ইউজার-অবজেক্ট ব্লকের সমস্ত ক্ষেত্র রিসেট করে এবং নির্দিষ্ট মান অনুযায়ী আপডেট করে (শুধুমাত্র নির্দিষ্ট ক্ষেত্র পরিবর্তন করতে, DB: প্যাচ ইউজার ব্লক ব্যবহার করা হয়);
DB: Create User — ডাটাবেসে সঞ্চয় করে এবং প্রদত্ত ইউজার অবজেক্ট রিটার্ন করে (প্রদত্ত ক্ষেত্র থেকে এটি তৈরি করতে, মেক ইউজার ব্লক ব্যবহার করুন);
DB: সফট ডিলিট ইউজার — User অবজেক্টে DeletedAt অ্যাট্রিবিউট আপডেট করে এবং ডাটাবেসে রেখে দেয়;
DB: বাল্ক ডিলিট ইউজার — ব্যবহারকারী অবজেক্টের আইডি (আইডি) এর একটি অ্যারে ইনপুট হিসাবে নেয় যা ডাটাবেস থেকে মুছে ফেলা হবে;
ব্যর্থ_আইডি - ব্যবহারকারী আইডিগুলির একটি অ্যারে যা মুছে ফেলা হবে না;
ডিবি: প্যাচ ইউজার — ডাটাবেসের ব্যবহারকারী অবজেক্টের নির্দিষ্ট ক্ষেত্র আপডেট করে (সমস্ত ক্ষেত্র রিসেট করতে, ডিবি ব্যবহার করুন: ব্যবহারকারী ব্লক আপডেট করুন);
DB: সার্চ ইউজার — ফিল্ডের উপর ভিত্তি করে ডাটাবেসে এক বা একাধিক ইউজার অবজেক্ট খুঁজে বের করে এবং সেগুলো ফেরত দেয়;
DB: GetOne User — এর ID দ্বারা ডাটাবেসের মধ্যে User অবজেক্ট খুঁজে বের করে এবং ফেরত দেয়;
ব্যবহারকারী প্রসারিত করুন — নির্বাচিত ব্যবহারকারী অবজেক্টের সমস্ত ক্ষেত্র প্রদান করে;
মেক ইউজার — প্রদত্ত ক্ষেত্রগুলি থেকে মেমরিতে একটি নতুন ব্যবহারকারী অবজেক্ট তৈরি করে এবং এটি ফেরত দেয় (তৈরি করা বস্তুটিকে ডাটাবেসে সংরক্ষণ করতে, ডিবি ব্যবহার করুন: ব্যবহারকারী ব্লক তৈরি করুন);
- ব্যবহারকারীর সেশন মডেল
ডিবি: ইউজার সেশন মুছুন — পাস করা আইডি দ্বারা ডাটাবেস থেকে ইউজার সেশন অবজেক্ট সরিয়ে দেয়;
DB: Update User Session — ডাটাবেসের ইনপুট ব্লকে পাস করা ইউজার সেশন অবজেক্টের সমস্ত ক্ষেত্র রিসেট করে এবং নির্দিষ্ট মান অনুযায়ী সেগুলিকে আপডেট করে (শুধুমাত্র নির্দিষ্ট ক্ষেত্র পরিবর্তন করতে, DB ব্যবহার করুন: প্যাচ ইউজার সেশন);
ডিবি: ইউজার সেশন তৈরি করুন — ডাটাবেসে সঞ্চয় করে এবং প্রদত্ত ইউজার সেশন অবজেক্ট রিটার্ন করে (প্রদত্ত ক্ষেত্র থেকে এটি তৈরি করতে, মেক ইউজার সেশন ব্লক ব্যবহার করুন);
DB: সফট ডিলিট ইউজার সেশন — User Session অবজেক্টের DeletedAt অ্যাট্রিবিউট আপডেট করে এবং ডাটাবেসে রেখে দেয়;
DB: বাল্ক ডিলিট ইউজার সেশন — ডাটাবেস থেকে মুছে ফেলা হবে এমন ইউজার সেশন অবজেক্টের আইডির একটি সেট ইনপুট হিসেবে গ্রহণ করে;
ব্যর্থ_আইডিস — অ্যারে আইডিগুলির সেটকে সংজ্ঞায়িত করে যেগুলি সরানো হবে না;
DB: প্যাচ ইউজার সেশন — ডাটাবেসে ইউজার সেশন অবজেক্টের নির্দিষ্ট ক্ষেত্র আপডেট করে (সমস্ত ক্ষেত্র রিসেট করতে, ডিবি ব্যবহার করুন: ইউজার সেশন ব্লক আপডেট করুন);
DB: সার্চ ইউজার সেশন — ফিল্ডের উপর ভিত্তি করে ডাটাবেসে এক বা একাধিক ইউজার সেশন অবজেক্ট খুঁজে বের করে এবং সেগুলো ফেরত দেয়;
DB: GetOne User Session — এর ID দ্বারা ডাটাবেসে ইউজার সেশন অবজেক্ট খুঁজে বের করে এবং রিটার্ন করে;
ব্যবহারকারীর অধিবেশন প্রসারিত করুন — নির্বাচিত ব্যবহারকারী সেশন অবজেক্টের সমস্ত ক্ষেত্র প্রদান করে;
ব্যবহারকারীর সেশন তৈরি করুন — প্রদত্ত ক্ষেত্রগুলি থেকে মেমরিতে একটি নতুন ব্যবহারকারী সেশন অবজেক্ট তৈরি করে এবং এটি ফেরত দেয় (তৈরি বস্তুটিকে ডাটাবেসে সংরক্ষণ করতে, ডিবি ব্যবহার করুন: ব্যবহারকারীর সেশন ব্লক তৈরি করুন);
- প্রমাণীকরণ মডিউল
প্রমাণীকরণ: প্রমাণীকরণ টোকেন তৈরি করুন — একটি প্রদত্ত দৈর্ঘ্যের একটি অনুমোদন টোকেন (প্রমাণ টোকেন) তৈরি করে;
প্রমাণীকরণ: একটি নতুন ব্যবহারকারী নিবন্ধন ;
অনুমোদন: অনুমোদন — সিস্টেমে প্রমাণীকরণ টোকেন বিদ্যমান কিনা তা পরীক্ষা করে এবং এর সাথে যুক্ত ব্যবহারকারীকে ফেরত দেয়;
প্রমাণীকরণ: প্রমাণীকরণ — ব্যবহারকারীর লগইন এবং পাসওয়ার্ড পরীক্ষা করে এবং একটি প্রমাণীকরণ টোকেন প্রদান করে;
প্রমাণীকরণ: লগআউট — একটি প্রমাণীকরণ টোকেন গ্রহণ করে এবং বর্তমান ব্যবহারকারীর অধিবেশন বন্ধ করে দেয়;
প্রমাণ: বর্তমান ব্যবহারকারী পান — বর্তমান ব্যবহারকারীর ডেটা ফেরত দেয়;
Auth: গ্রুপ থেকে ব্যবহারকারীকে সরান — নির্দিষ্ট গোষ্ঠী থেকে একজন ব্যবহারকারীকে তার ID দ্বারা সরিয়ে দেয় (Auth মডিউলের সেটিংসে সংজ্ঞায়িত করা হয়েছে);
Auth: গ্রুপে ব্যবহারকারী যোগ করুন — নির্দিষ্ট ব্যবহারকারী গ্রুপে একজন ব্যবহারকারীকে তার ID দ্বারা যুক্ত করে (Auth মডিউল সেটিংসে সংজ্ঞায়িত করা হয়েছে);
প্রমাণ: হ্যাশ পাসওয়ার্ড - একটি পাসওয়ার্ড স্ট্রিংকে হ্যাশে রূপান্তর করা;
প্রমাণীকরণ: পাসওয়ার্ড পুনরুদ্ধার করুন — ব্যবহারকারীর ব্যবহারকারীর নাম এবং নতুন পাসওয়ার্ড গ্রহণ করে, যার ফলে এটি পুনরায় সেট করা হয়;
প্রমাণীকরণ: পাসওয়ার্ড পরিবর্তন করুন — বর্তমান ব্যবহারকারীর পাসওয়ার্ডকে একটি নতুন দিয়ে প্রতিস্থাপন করে;
প্রমাণীকরণ: প্রোব পাসওয়ার্ড — পাসওয়ার্ড যাচাইকরণ এবং হ্যাশ ম্যাচিং;
প্রমাণীকরণ মডিউলের এন্ডপয়েন্ট এবং ব্যবহারকারী এবং ব্যবহারকারী সেশন মডেলগুলি যখন প্রকল্প তৈরি করা হয় তখন স্বয়ংক্রিয়ভাবে তৈরি হয়।
প্রমাণীকরণ মডিউল
অনুরোধের ধরন | শেষপ্রান্ত | সংযুক্ত BP |
---|---|---|
/প্রস্থান/ | লেখকঃ লগআউট | |
/প্রমাণ/ | প্রমাণীকরণ: প্রমাণীকরণ | |
/নিবন্ধন/ | প্রমাণ: নিবন্ধন | |
/নিশ্চিত/ | প্রমাণ: নিবন্ধন | |
/ব্যবহারকারী/পরিবর্তন-পাসওয়ার্ড | প্রমাণ: পাসওয়ার্ড পরিবর্তন করুন | |
/ব্যবহারকারী/পুনরুদ্ধার-পাসওয়ার্ড/ | প্রমাণ: পাসওয়ার্ড পুনরুদ্ধার করুন | |
/ব্যবহারকারী প্রোফাইল/ | প্রমাণ: অনুমোদন |
ব্যবহারকারী
অনুরোধের ধরন | শেষপ্রান্ত | সংযুক্ত BP |
---|---|---|
/ব্যবহারকারী আইডি/ | ডিবি: ব্যবহারকারী আপডেট করুন | |
/ব্যবহারকারী আইডি/ | ডিবি: ব্যবহারকারী মুছুন | |
/ব্যবহারকারী আইডি/ | ডিবি: GetOne ব্যবহারকারী | |
/ব্যবহারকারী/ | ডিবি: ব্যবহারকারী অনুসন্ধান করুন | |
/ব্যবহারকারী আইডি | ডিবি: প্যাচ ব্যবহারকারী | |
/ব্যবহারকারী/ | ডিবি: ব্যবহারকারী তৈরি করুন |
ব্যবহারকারীর অধিবেশন
অনুরোধের ধরন | শেষপ্রান্ত | সংযুক্ত BP |
---|---|---|
/user-session/:id/ | DB: ব্যবহারকারীর সেশন মুছুন | |
/user-session/:id/ | DB: GetOne ব্যবহারকারী সেশন | |
/ব্যবহারকারী-সেশন/ | ডিবি: ব্যবহারকারীর সেশন অনুসন্ধান করুন | |
/user-session/:id/ | ডিবি: প্যাচ ব্যবহারকারী সেশন | |
/ব্যবহারকারী-সেশন/ | DB: ব্যবহারকারীর সেশন তৈরি করুন | |
/user-session/:id/ | DB: ব্যবহারকারীর সেশন আপডেট করুন |
অনুমোদন টোকেন অনুমোদিত ব্যবহারকারীর বর্তমান সেশন টোকেন হিসাবে ব্যবহৃত হয়। ওয়েব অ্যাপ্লিকেশন বিপিতে, এই টোকেনের সাথে যোগাযোগ করা সম্ভব:
- Get Auth Token বর্তমান প্রমাণীকৃত ব্যবহারকারী সেশনের প্রমাণ প্রদান করে;
- অনুমোদন টোকেন সেট অনুমোদিত ব্যবহারকারীর বর্তমান সেশনের প্রমাণীকরণ টোকেন ওভাররাইট করে;
- প্রমাণীকরণ টোকেন সরান অনুমোদন টোকেন অনুমোদিত ব্যবহারকারীর বর্তমান সেশন মুছে দেয়;
উদাহরণ দেখায় কিভাবে বর্তমান ব্যবহারকারী পেতে.
এটি করতে, বিজনেস লজিক ট্যাবে যান এবং Auth: Get current user block টেনে আনুন।
এরপরে, তৈরি করা BP-এর জন্য একটি এন্ডপয়েন্ট তৈরি করা হয়, যা বর্তমান ব্যবহারকারীর বস্তু পেতে সার্ভারের সাথে যোগাযোগ করতে ব্যবহার করা হবে।
এন্ডপয়েন্ট বিভাগে ব্যবহারকারী গোষ্ঠী নির্বাচন করুন এবং বর্তমান ব্যবহারকারী পেতে নতুন তৈরি প্রক্রিয়ার জন্য একটি GET অনুরোধ পদ্ধতি তৈরি করুন।
ওয়েব অ্যাপ্লিকেশন BP-এ, বর্তমান ব্যবহারকারী পেতে তৈরি করা শেষ পয়েন্টে (সার্ভার অনুরোধ GET /user_current) একটি অনুরোধ করুন।
গ্রুপ এবং অনুমতি
ব্যবহারকারী গোষ্ঠীগুলি Auth মডিউলের সেটিংসে তৈরি করা হয়। মডিউল সেটিংসে যেতে, আপনাকে মডিউল বিভাগটি খুলতে হবে এবং সংশ্লিষ্ট মডিউলের কার্ডে ক্লিক করতে হবে।
গ্রুপ ট্যাবে বিদ্যমান সমস্ত গ্রুপের একটি তালিকা রয়েছে। একটি নতুন ব্যবহারকারী গ্রুপ তৈরি করতে একটি নতুন উপাদান যোগ করুন ক্লিক করুন। নতুন মডেল উইন্ডোতে, আপনি গ্রুপটি কাস্টমাইজ করতে পারেন, একটি বিবরণ, আইকন, আইকন এবং লেবেলের রঙ এবং ট্যাগ যোগ করতে পারেন।
pMaster" data-mce-src="https://appmaster.io/api/_files/SRiacHHyULYU6EqLSbrp6e/download/">
বিদ্যমান ব্যবহারকারী গোষ্ঠীগুলি সম্পাদনা করতে, আপনাকে প্রমাণ মডিউলের সেটিংসেও যেতে হবে। এটি করতে, মডিউল বিভাগে যান এবং সংশ্লিষ্ট মডিউলের কার্ডে ক্লিক করুন। এরপরে, গ্রুপ ট্যাবে, গ্রুপগুলির একটি তালিকা পাওয়া যাবে, এটি সম্পাদনা করতে আপনাকে সেটিংস আইকনে ক্লিক করতে হবে। নতুন মডেল উইন্ডোতে, আপনি গ্রুপটি কাস্টমাইজ করতে পারেন, এর বিবরণ, আইকন, আইকন এবং লেবেলের রঙ এবং ট্যাগ পরিবর্তন করতে পারেন।
নির্দিষ্ট ব্যবহারকারী গোষ্ঠীর জন্য ডাটাবেসে এন্ট্রি পড়ার/লেখার অধিকার পরিবর্তন করতে, Auth মডিউলের মিডলওয়্যার ব্যবহার করা হয়।
এন্ডপয়েন্ট বিভাগে, এন্ডপয়েন্ট নির্বাচন করুন যার পঠন/লেখার অনুমতি আপনি পরিবর্তন করতে চান। পছন্দসই এন্ডপয়েন্টে সেটিংস বোতামে ক্লিক করুন এবং যে মডেল উইন্ডোটি খোলে সেখানে মিডলওয়্যার ট্যাবে যান। এরপর, টোকেন প্রমাণ মিডলওয়্যারের সাথে লাইনে সম্পাদনা সেটিংসে ক্লিক করে, অ্যাক্সেসের অধিকার সেট আপ করুন।
ওয়েব অ্যাপ্লিকেশনের পৃষ্ঠাগুলিতে অ্যাক্সেস: আপনাকে ওয়েব অ্যাপ্লিকেশনটিতে যেতে হবে এবং আপনি যে পৃষ্ঠায় অ্যাক্সেস সীমাবদ্ধ করতে চান তার সেটিংস বোতামে ক্লিক করতে হবে।
গোষ্ঠীগুলির জন্য দেখান ক্ষেত্রে, আপনাকে অবশ্যই ব্যবহারকারী গোষ্ঠীগুলির একটি তালিকা নির্বাচন করতে হবে যা এই পৃষ্ঠাটি দেখার অনুমতি পাবে। ডিফল্টরূপে, ক্ষেত্রটি খালি থাকে এবং সমস্ত শ্রেণীর ব্যবহারকারীদের অ্যাক্সেসের অনুমতি দেওয়া হয়।
উপসংহার
ভূমিকা দ্বারা ডেটা অ্যাক্সেস ব্যবহারকারীদের নির্দিষ্ট গোষ্ঠীর জন্য তথ্য প্রবাহ সংগঠিত করার একটি সুবিধাজনক উপায়। নো-কোড প্ল্যাটফর্ম AppMaster.io এর সাথে, আপনি একটি ট্রায়ালে এই বৈশিষ্ট্যটি পরীক্ষা করতে পারেন।
আপনি যদি কার্যকারিতা দেখে মুগ্ধ হন, আমাদের পেশাদার পরিকল্পনা পান, যার মধ্যে এই বৈশিষ্ট্যটি, বাইনারি ফাইল রপ্তানি, নিয়মিত ব্যাকআপ, প্রকল্প স্থানান্তর এবং আরও অনেক কিছু রয়েছে৷ আমরা আপনার জন্য AppMaster.io প্ল্যাটফর্মে অপেক্ষা করছি এমনকি আপনার সবচেয়ে সাহসী প্রকল্পগুলি বাস্তবায়ন করতে।