SSO Implementation
مقدمه
از آنجایی که سرویس SSO در نهایت امکان یکپارچهسازی در فرآیندهای ورود و خروج کاربران را فراهم میکند نیازمند هماهنگی و تغییر در بخشهای مختلفی از یک سازمان هست. همچنین اطلاعات هویتی و سازمانی ( منظور اطلاعات دانشجویی، پرسنلی، استاد و غیره که متعلق به شخص هست) افراد بصورت مرتب بروزرسانی میشود و کلیه سامانههای متصل به SSO میتوانند از این اطلاعات بهرهمند شوند (بر اساس سطح دسترسی هر سامانه). همچنین هر شخص در دانشگاه/سازمان دارای یک هویت مستقل بوده و فارغ از اینکه شخصی چندین سمت یا نقش داشته باشد، هویت او یکتا خواهد بود. لذا در محیطهایی مانند دانشگاهها که از پیچیدگی زیادی برخوردار هستند، شخصی که استاد هست ولی قبلا تحصیل کرده همان دانشگاه در مقاطع مختلف هم باشد، بدون دغدغه با یک هویت میتواند از تمامی سامانه ها با نقشهای مختلف استفاده کند.
لذا جهت ایجاد چنین سیستمی، افراد و سامانههای مختلفی درگیر خواهند شد. اما در پایان پس از راهاندازی کامل این سرویس، مزیتهای بسیاری شامل حال کاربران و مدیریت دانشگاه/سازمان خواهد شد و تمامی ذینفعان از این امکانات بهرهمند میشوند. همچنین هزینهها کاری بسیاری که قبلا از سمت کاربران یا سامانهها وجود داشته تقلیل پیدا میکند و در دراز مدت میتواند دانشگاه/سازمان و کاربران آن را چابکتر سازد.
فازهای استقرار و توسعه SSO
همانطور که در مقدمه توضیح داده شد، بخشهای مختلفی از سازمان در استقرار این پروژه میبایستی ایفای نقش کنند. اما فارغ از نقش سایر افراد و سامانهها، فازهای مشخصی در استقرار این محصول وجود دارد که بصورت کلی شامل جدول ذیل هست. زمانبندی ارائه شده تقریبی بوده و بر اساس امکاناتی که مطابق با نیازمندیهای پروژه ارائه میشود میتواند کمتر/بیشتر شود.
پیمانکاران سامانهها
یکی از مهمترین قسمتها در استقرار این سیستم همکاری پیمانکاران فعلی سامانههای از پیش مستقر شده در دانشگاه/سازمان هست. با توجه به اینکه تمامی پروتکلهای SSO میبایست سمت کلاینت (سامانهای که میخواهد متصل شود) هم فراخوانی شود، لذا یکی از مسائل مهم آگاهی بخشی به پیمانکاران فعلی دانشگاه/سازمان توسط بخش فناوری اطلاعات هست تا در جریان تغییراتی که میبایست در آینده اعمال کنند قرار گیرند.
مستند کاملی نیز در این زمینه از طریق این لینک قابل دریافت هست که در اختیار پیمانکاران قرار داده خواهد شد. البته پروتکلهای مختلفی در سامانه SSO شرکت متن باز سامان پشتیبانی میگردد اما عموما در کشور ایران پروتکل CAS بیشتر به جهت سهولت استفاده شده است. زمان تقریبی پیادهسازی این پروتکل در سامانههای بصورت میانگین (طبق تجربههای قبلی) در حدود ۲۰ تا ۴۰ ساعت از سمت پیمانکار هست.
این پروتکل در ۳ قسمت میبایستی پیاده شود:
۱- قسمت ورود کاربر
۲- قسمت خروج کاربر
۳- دریافت مشخصات کاربر از SSO
خوشبختانه در کتابخانههای CAS تمامی این ۳ قسمت دارای method مشخصی هستند و تنها لازم هست که آنها فراخونی شوند. آدرس و مشخصات سرور SSO هم در داخل فایلی تنظیم خواهد شد. لذا نگرانی از بابت این موضوع نباید وجود داشته باشد و نتیجه تجربههای مشابه در سایر مشتریان هم به همین گونه بوده است.
پس از ارسال مستند در صورتی که پیمانکاری سوالی را دارد میتواند مطرح نماید. پیشنهاد میشود جلسه مشترکی بصورت ویدیو کنفرانس بین پیمانکار SSO ، افراد مسوول در بخش فناوری اطلاعات دانشگاه/سازمان و سایر پیمکانکاران برگزار شود تا موارد برای همه یکبار تشریح شده و به سوالات یکسان بصورت عمومی پاسخ داده شود.
سامانههای مادر
هر دانشگاه/سازمان جهت پیشبرد پروژه SSO و مخصوصا قسمت ثبتنام/تکمیل ثبتنام (برای کاربرانی که در حال حاضر نام کاربری دارند) میبایست اطلاعات اولیه تمیز را در اختیار شرکت قرار دهد. اصولا در همه سازمانها یا دانشگاهها سیستمهای خاصی مسوول نگهداری این اطلاعات هستند. سامانههای دانشجویی، پرسنلی، اساتید، مهمان و غیره که این نقش را بر عهده دارند به عنوان سامانه مادر شناخته میشوند.
لذا انتظار میرود که این سامانهها دسترسی و بستر مناسب را جهت تامین این اطلاعات فراهم کنند. نوع دسترسی بر اساس کارایی و انطباق با استانداردهای روز دنیا بر اساس لیست زیر خواهد بود.
۱- وب سرویس RESTful
۲- وب سرویس SOAP
۳- دسترسی به دیتابیس از طریق view (پیشنهاد نمیگردد)