REST ওয়েব পরিষেবাদির প্রমাণীকরণ / অ্যাক্সেস-নিয়ন্ত্রণের জন্য সফ্টওয়্যার আর্কিটেকচার


12

আমি একটি নতুন RESTful ওয়েব পরিষেবা সেট আপ করছি এবং আমার একটি ভূমিকা ভিত্তিক অ্যাক্সেস নিয়ন্ত্রণ মডেল সরবরাহ করা প্রয়োজন। আমাকে এমন একটি আর্কিটেকচার তৈরি করতে হবে যা ব্যবহারকারীদের পরিষেবাতে অ্যাক্সেস পেতে তাদের ব্যবহারকারীর নাম এবং পাসওয়ার্ড সরবরাহ করার অনুমতি দেবে এবং তারপরে ভূমিকার উপর ভিত্তি করে তারা কীভাবে পরিষেবাগুলি (কোন পরিষেবাগুলি ব্যবহার করতে পারে, পড়তে বনাম পড়তে / লিখতে পড়তে পারে) কীভাবে ব্যবহার করতে পারে তা সীমাবদ্ধ করে দেয় will যে ব্যবহারকারীদের নিযুক্ত।

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

তবে আমি এই সমাধানগুলি কার্যকর করে এমন সফ্টওয়্যার আর্কিটেকচারের জন্য সেরা অনুশীলন এবং নিদর্শনগুলির জন্য একটি ভাল পোস্ট, নিবন্ধ, বইয়ের সন্ধান করতে পারিনি।

বিশেষ করে:

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

আমি সন্ধান করছি যে কোনও নির্দিষ্ট প্রযুক্তির বাইরে সফ্টওয়্যার আর্কিটেকচারের জন্য নকশা নিদর্শন এবং প্রস্তাবনা রয়েছে।

(যদি প্রযুক্তিগুলির বিষয়টি বিবেচনা করে তবে আমি অজগর, পাকানো এবং একটি পোস্টগ্রেকল ডাটাবেস ব্যবহার করে এটি বাস্তবায়নের পরিকল্পনা করছি)


আপনার মতো মনে হচ্ছে আপনার জন্য এটি লেখার জন্য কারও দরকার;)
মার্টিন ব্লোর

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

আপনি কি এই বিষয়ে কোন অগ্রগতি করেছেন?
ব্রায়ান এজী

আপনি oAuth2 বিবেচনা করেছেন ? আছে সার্ভার এবং ক্লায়েন্ট লাইব্রেরী অনেক জনপ্রিয় ভাষা সহজ এটি বাস্তবায়ন করা উচিত এটা জন্য উপলব্ধ।
সাম

উত্তর:


5

OpenAM।

http://forgerock.com/openam.html

ব্যবহারকারীর বিবরণ এবং অ্যাক্সেসের অধিকারগুলি কীভাবে সংরক্ষণ করা উচিত? (ডেটা মডেল, অবস্থান, ফর্ম্যাট)

পরিচয় পরিচালক। যে কোনও ওয়েব সার্ভার থেকে পৃথক করুন। দ্বারা LDAP-ভিত্তিক।

সার্ভারে এগুলি উপস্থাপন এবং ট্র্যাক করার জন্য ভাল ডিজাইনের ধরণগুলি কী কী? (মেমরির অধিবেশনগুলি, প্রতিটি সময় ডিবি লুকআপ ইত্যাদি)

আপনার কাঠামোর দ্বারা সমাধান করা। আর ভাববেন না। আপনার কাঠামোর ইতিমধ্যে নির্মিত ভাল ডিজাইনের নিদর্শনগুলি কেবল ব্যবহার করুন।

কোড বেসে সুরক্ষিত উপায়ে পরিষেবাগুলিতে এই অধিকারগুলির ম্যাপিংয়ের জন্য ভাল নিদর্শনগুলি কী কী?

আপনার কাঠামোর দ্বারা সমাধান করা। প্রতিটি কাঠামো কিছুটা ভিন্ন পদ্ধতির ব্যবহার করে। প্রতিটি ভাষার কিছুটা আলাদা বৈশিষ্ট্য রয়েছে। উদাহরণস্বরূপ, জ্যাঙ্গো এটির জন্য পাইথনের সজ্জকারগুলি ভারী ব্যবহার করে।

কোন আর্কিটেকচারাল পছন্দগুলি সিস্টেমকে আরও সুরক্ষিত এবং নির্ভরযোগ্য রাখতে সহায়তা করতে পারে?

আরো? এর চেয়ে বেশি কি?


আমার নির্দিষ্ট সেটআপে আমি ওপেনএ্যামের মতো কিছু ব্যবহার করতে পারি বলে মনে করি না। আমার এন্টারপ্রাইজ-ওয়াইড সিঙ্গল সাইন-ইন লাগবে না। আমি মনে করি আমার আরও ছোট এবং আরও বেশি কিছু অন্তর্ভুক্ত দরকার।
অ্যালেন

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