একাধিক ডোমেন জুড়ে একক সাইন ইন [বন্ধ]


110

আমাদের সংস্থার প্রতিটি ডোমেনে হোস্ট করা একটি ওয়েবসাইটের সাথে একাধিক ডোমেন সেট আপ রয়েছে। এই সময়ে, প্রতিটি ডোমেনের নিজস্ব প্রমাণীকরণ থাকে যা কুকিগুলির মাধ্যমে সম্পন্ন হয়।

যখন কেউ একটি ডোমেনে লগ ইন করেছেন তখন অন্যের থেকে কিছু অ্যাক্সেস করার প্রয়োজন হয়, ব্যবহারকারীকে অন্য ডোমেনে অবস্থিত, অন্য ওয়েবসাইটে আলাদা শংসাপত্র ব্যবহার করে আবার লগ ইন করতে হবে।

আমি একক সাইন অন (এসএসও) এর দিকে যাওয়ার কথা ভাবছিলাম, যাতে এই ঝামেলা দূর করা যায়। আমি কীভাবে এটি অর্জন করতে পারি সে সম্পর্কে কোনও ধারণার প্রশংসা করব, কারণ এই বিষয়ে আমার কোনও অভিজ্ঞতা নেই।

ধন্যবাদ।

সম্পাদনা করুন: ওয়েবসাইটগুলি ইন্টারনেট (বাহ্যিক) এবং ইন্ট্রানেট (সংস্থার অভ্যন্তরীণ ব্যবহৃত) সাইটের মিশ্রণ।


এটি ওপেনআইডিএলের জন্য চাকরির মতো মনে হচ্ছে - তবে কেবলমাত্র আপনার সাইন ইন ডোমেন থেকে আইডিগুলিকে অনুমতি দিন।
নিল

2
@ উইল এই প্রশ্নটি এসই নেটওয়ার্কে এই ওয়েবসাইটটির জন্য নাও হতে পারে তবে এটি অবশ্যই গঠনমূলক
বিনার ওয়েব

@ বিনারওয়েব ঘনিষ্ঠ কারণগুলি ২০০৮ সাল থেকে বিকশিত হয়েছে Back তখন, এটি ছিল সবচেয়ে কার্যকর পছন্দ।

উত্তর:


91

আমি যে এসএসও সমাধানটি এখানে প্রয়োগ করেছি সেগুলি নিম্নলিখিত হিসাবে কাজ করে:

  1. লগইন পরিচালনা করে এমন মাস্টার_লগিন.পিপি স্ক্রিপ্ট সহ একটি মাস্টার ডোমেন, login.mydomain.com রয়েছে।
  2. প্রতিটি ক্লায়েন্ট ডোমেনের ক্লায়েন্ট_লগিন.পিপি স্ক্রিপ্ট থাকে
  3. সমস্ত ডোমেনের একটি শেয়ার্ড ব্যবহারকারীর সেশন ডাটাবেস রয়েছে।
  4. যখন ক্লায়েন্ট ডোমেনটির ব্যবহারকারীর লগ ইন করার প্রয়োজন হয় তখন এটি মাস্টার ডোমেনে (login.mydomain.com/master_login.php) পুনর্নির্দেশ করে। যদি ব্যবহারকারী মাস্টারে সাইন ইন না করে থাকে তবে এটি ব্যবহারকারীর কাছ থেকে প্রমাণীকরণের অনুরোধ করে (যেমন প্রদর্শন লগইন পৃষ্ঠা প্রদর্শন করুন)। ব্যবহারকারী অনুমোদনের পরে এটি একটি ডাটাবেসে একটি সেশন তৈরি করে। যদি ব্যবহারকারী ইতিমধ্যে প্রমাণীকৃত হয় তবে এটি ডাটাবেসে তাদের সেশন আইডিটি সন্ধান করে।
  5. মাস্টার ডোমেনটি ক্লায়েন্ট ডোমেইনে ফিরে আসে (ক্লায়েন্ট.মায়ডোমেনস / ক্লায়েন্ট_লগিন.এফপি) সেশন আইডি পাস করে।
  6. ক্লায়েন্ট ডোমেন মাস্টার থেকে সেশন আইডি সংরক্ষণ করে একটি কুকি তৈরি করে। ক্লায়েন্টটি সেশন আইডি ব্যবহার করে ভাগ করা ডাটাবেসটি জিজ্ঞাসা করে লগ ইন করা ব্যবহারকারীকে সন্ধান করতে পারে।

মন্তব্য:

  • সেশন আইডি একটি অনন্য গ্লোবাল শনাক্তকারী যা আরএফসি 4122 থেকে অ্যালগোরিদম দিয়ে উত্পন্ন হয়
  • মাস্টার_লগিন.এফপি কেবল তার শ্বেত তালিকাতে ডোমেনগুলিতে পুনর্নির্দেশ করবে
  • মাস্টার এবং ক্লায়েন্টরা বিভিন্ন শীর্ষ স্তরের ডোমেনে থাকতে পারে। যেমন। ক্লায়েন্ট 1.abc.com, client2.xyz.com, login.mydomain.com

এটি দেখতে ভাল সমাধান গ্রোমের মতো। আপনি ডাটাবেসে কী সঞ্চয় করবেন? এটি (সেশন_আইডি, ব্যবহারকারীর নাম, হ্যাশ_পাসওয়ার্ড)?
জন এম

3
আপনি কিভাবে মাস্টার ডোমেন login.mydomain.com কে নিচে নামলে কেস কে হ্যান্ডেল করবেন? লগইন কি সেই সময়ে অসম্ভব?
jjxtra

3
কোনও সংস্থা কোনও কোড উদাহরণ তৈরি করেছে বা গিথুব রেপো?
জোশুয়া এফ। রাউন্ট্রি

এটি প্রায় সমস্ত এসএসও প্রোটোকল (যেমন এসএএমএল) নির্দিষ্ট করে তবে রিপ্লে আক্রমণগুলির বিরুদ্ধে আরও সুরক্ষা সহ।
cweiske

2
তারা যদি ব্যবহারকারীর ডাটাবেস ভাগ না করে? প্রতিটি অংশীদার ওয়েব অ্যাপের নিজস্ব ব্যবহারকারী বেস রয়েছে। আমরা কীভাবে এর মুখোমুখি হই?
stuckedoverflow

33

চাকাটি পুনরায় উদ্ভাবন করবেন না। এখানে প্রচুর ওপেন সোর্স ক্রস-ডোমেন এসএসও প্যাকেজ রয়েছে যেমন জোসসো, ওপেনএসএসও, সিএএস, শিববোলেথ এবং অন্যান্য। আপনি যদি মাইক্রোসফ্ট প্রযুক্তি ব্যবহার করেন (আইআইএস, এডি), আপনি তার পরিবর্তে মাইক্রোসফ্ট ফেডারেশন (এডিএফএস) ব্যবহার করতে পারেন।


4
অবশ্যই - আমি দেখেছি যে অনেক লোক কেবল তাদের পুনরায় খেলতে,

5
+1 আপনার [প্রায়শই] সুরক্ষা চাকাটি পুনরায় উদ্ভাবন করা উচিত নয়।
মার্ক ই। হাজেস

13
ওপেনএসএসও মারা গেছে এবং জাসসো এবং সিএএস হ'ল জাভা সমাধান। স্রেফ একটি এফওয়াইআই
ওয়ানহোপি ফ্রিড

15

হোস্টের নামগুলি কতটা আলাদা?

এই হোস্টগুলি কুকিগুলি ভাগ করতে পারে:

  • mail.xyz.com
  • www.xyz.com
  • logon.xyz.com

তবে এগুলি পারে না:

  • abc.com
  • xyz.com
  • www.tre.com

পূর্ববর্তী ক্ষেত্রে আপনি কুকি ভিত্তিক সমাধান বেরিয়ে আসতে পারেন। জিইউইডি এবং একটি ডাটাবেস সেশন টেবিলটি ভাবুন।


2

আপনি যদি অ্যাক্টিভ ডিরেক্টরি ব্যবহার করেন তবে প্রতিটি অ্যাপ্লিকেশন প্রমাণীকরণের জন্য AD ব্যবহার করতে পারে, লগইন তখন নির্বিঘ্নে হতে পারে।

অন্যথায়, যদি অ্যাপ্লিকেশনগুলি পর্দার আড়ালে একে অপরের সাথে কথা বলতে পারে, আপনি সেশনডগুলি ব্যবহার করতে পারেন এবং আপনার অ্যাপ্লিকেশনগুলিতে সমস্ত অ্যাপ্লিকেশন পরিবেশন করে একটি অ্যাপ্লিকেশন আইডি প্রজন্মের পরিচালনা করতে পারে।


2
এই সেশনের জন্য তিনি যখন প্রথমবার এই সাইটগুলিতে অবতরণ করেন তখন ব্যবহারকারীকে ডোমেইন 1.com এবং ডোমেইন 2.com এবং ডোমেইন 3 ডটকমের ব্যবহারকারীর নাম এবং পাসওয়ার্ডটি প্রবেশ করতে হবে না?
হাওবো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.