আমার একটি প্রয়োজনীয়তা রয়েছে যেখানে, আমাকে কেন্দ্রীয় সার্ভারের প্রমাণীকরণের সাথে এসএসও সার্ভারের সাথে ডিফল্ট ব্যবহারকারীর প্রমাণীকরণকে প্রতিস্থাপন করতে হবে।
ড্রুপাল ডিবাগ করে আমি জানতে পারি যে সমস্ত সেশন ম্যানেজমেন্ট includes/session.inc
ফাইলের মধ্যে ঘটে । আমি ছবিতে প্রদর্শিত হিসাবে প্রমাণীকরণ করতে চাই:
SCENARIO: লগইন
করুন পদক্ষেপগুলির বিবরণ হবে:
- এসএসও সার্ভারে ইউজারনেম এবং পাসওয়ার্ড জমা দেওয়ার জন্য লগইন ফর্মটি প্রতিস্থাপন করুন ( দ্রুপালে নয় , কিন্তু। নেট)।
- Site সাইটের ডেটাবেস ব্যবহার করে এসএসও সার্ভারে ব্যবহারকারীকে প্রমাণীকরণ করুন; এবং আমার ওয়েবসাইটের কিছু কাস্টম পিএইচপি পৃষ্ঠায় (বা মডিউল দ্বারা একটি ফর্ম?) প্রতিক্রিয়া পাঠান ।
- প্রতিক্রিয়াটি ব্যবহার করে ব্যবহারকারীদের সারণিতে ব্যবহারকারীকে চিহ্নিত করুন এবং পাসওয়ার্ড পরীক্ষা না করেই ব্যবহারকারীর জন্য একটি সেশন তৈরি করুন (এটি ডাবল প্রমাণীকরণের অর্থ হবে)। ডিফল্টরূপে, দ্রুপাল
$insecure_session_name
ভেরিয়েবলের নাম এবং মান সহ একটি কুকি সেট করে$sid
। আমি চাই দ্রুপাল এখানে কুকি সেট না করে পরিবর্তে এসএসও সার্ভারে ভেরিয়েবলের মান প্রেরণ করুন। - এসএসও সার্ভার মানগুলি গ্রহণ করবে, একটি কুকি তৈরি করবে এবং এটিকে মূল ডোমেইনে ফেলে দেবে
domain.com
(উভয়কে স্মরণ করিয়ে দিতেmy website
এবংsso server
মূল ডোমেনের সাব ডোমেনে থাকে, যা দ্রুপালে নয়)। তারপরে, ড্রুপাল সাইটটি সেই কুকিটি ব্যবহার করে লগ ইন করতে পারে।
আমি জানি এটি একটি শক্ত জিজ্ঞাসা, আমি কীভাবে শুরু করব তা সম্পর্কে আমি কেবল পয়েন্টার সন্ধান করছি? যেমন তারা বলেছে "আপনার কোরটি হ্যাক করা উচিত নয়"। সুতরাং, আমার প্রশ্নগুলি হ'ল:
- ড্রুপাল প্রমাণীকরণ এবং সেশন ম্যানেজমেন্ট গভীরতার সাথে কীভাবে কাজ করে তা বুঝতে আমার কোথায় খোঁজ করা উচিত?
includes/session.inc
হুক ব্যবহারের ক্ষেত্রে আমি ফাংশনগুলিকে কল করতে পারি এমন কোনও উপায় আছে (ফাংশনগুলির সাথে মন্তব্যগুলিতে "কেবল অভ্যন্তরীণ ব্যবহারের জন্য / পরিবর্তিত হতে হবে না" হিসাবে বলা হয়েছে)?
দ্রষ্টব্য: আমি ব্যবহারকারীকে রেজিস্টার করতে একই পদ্ধতি ব্যবহার করব, যাতে এসএসও সার্ভারের কেন্দ্রীয় ডাটাবেসে রেকর্ডটি থেকে যায় remains এবং সেই সময়ে ড্রুপাল সাইটের ডাটাবেসে একই ব্যবহারকারীর জন্য কিছু জাঙ্ক পাসওয়ার্ড রাখবে (লগইন করার সময় পাসওয়ার্ডটি চেক করা হবে না)।