大家都知道酒酿蛋是非常传统的美胸食品产后丰胸产品,醪糟也叫酒酿,是由糯米或者大米经过酵母发酵而制成的一种风味食品,其产热量高,富含碳水化合物丰胸产品燕窝酒酿蛋、蛋白质、b族维生素、矿物质等,这些都是人体不可缺少的营养成分酒酿蛋丰胸方法。其中酒酿中含的醣化酵素,能促进乳房的二次发育,具有美胸的作用燕窝酒酿蛋丰胸
سرويس های Membership و Roles در ASP.NET 2.0 (بخش اول)
اين مطلب از طريق سايت شرکت سخاروش در اختيار شما گذاشته شده است .

سرويس های Membership و Roles در ASP.NET 2.0

سرويس های Membership و Roles در ASP.NET 2.0 (بخش اول)
تائيد كاربران و امكان استفاده آنان از پتانسيل های موجود بر روی يك سايت و يا برنامه بر اساس مجوزهای تعريف شده ، از جمله عمليات مهم در بسياری از وب سايت ها و يا برنامه های وب است . امروزه بر روی اينترنت می توان سايت های متعددی را مشاهده نمود كه كاربران را ملزم به login نموده تا پس از بررسی هويت آنان ، امكان استفاده از امكانات موجود بر روی سايت ( تمام سايت و يا بخش هائی خاص ) بر اساس مجوزهای تعريف شده ، فراهم گردد . به عنوان نمونه ، در برخی از سايت ها امكان ارسال خبر ، پيام ، مشاهده مقالات و ...  صرفا" در اختيار كاربران تائيد شده گذاشته می شود .
در سناريوی فوق ما با دو چالش اساسی مواجه هستيم :

اجازه دهيد قبل از اين كه به نحوه مديريت كاربران در ASP كلاسيك ، ASP.NET 1.x و ASP.NET 2.0 اشاره نمائيم ، تعريفی داشته باشيم از Authentication و Authorization  :

با استفاده از فرآيندهای فوق ، پياده كنندگان می توانند يك سايت را با توجه به نوع كاربران سفارشی نمايند .

ملزومات يك سيستم مديريت كاربران به منظور تامين فرآيندهای Authentication  و Authorization
ايجاد يك سيستم جهت مديريت كاربران  مستلزم انجام مراحل مشابهی است :

در ادامه به بررسی امكانات ارائه شده در ASP كلاسيك ، ASP.NET 1.x و ASP.NET 2.0  در خصوص مديريت كاربران خواهيم پرداخت .

ASP كلاسيك
قبل از ASP.NET ، پياده كنندگان مجبور بودند كه علاوه بر پياده سازی تمامی مراحل فوق ، تمهيدات لازم به منظور تائيد كاربران و صدور مجوزهای لازم به منظور دستيابی به منابع موجود بر روی يك سايت و يا برنامه را انجام دهند . يكی از چالش های اصلی در اين زمينه و در هنگام درخواست يك منبع از سرويس گيرنده  توسط كاربر ، حصول اطمينان از اين موضوع است كه كاربر متقاضی قبلا" تائيد شده باشد . يكی ديگر از چالش های موجود ، نحوه حفاظت برخی صفحات از دستيابی غيرمجاز است . چگونه می توان يك صفحه را بگونه ای پيكربندی نمود كه صرفا" كاربران خاصی بتوانند از آن استفاده نمايند؟
به منظور حل مشكل فوق از يك متغير session استفاده می گرديد. برای كاربرانی كه فرآيند Authentication را با موفقيت طی می نمايند يك متغير session ايجاد و در تمامی صفحات وجود اين متغير بررسی می گرديد تا هويت كاربر تشخيص و مجاز بودن وی برای استفاده از صفحه درخواستی تائيد گردد .
در ASP كلاسيك به منظور مديريت كاربران هيچگونه امكانات بالقوه ای وجود نداشته و پياده كنندگان می بايست علاوه بر ايجاد بستر اطلاعاتی مورد نياز ، ملزومات  سيستم مديريت كاربران را پياده سازی نمايند .

ASP.NET 1.x
به منظور كاهش عمليات مورد نياز برای پياده سازی سيستم مديريت كاربران در ASP.NET 1.x ، امكانات متعددی ارائه گرديد . تائيد كاربران بر اساس فرم ، امكان تعريف قوانين و مجوزهای دستيابی در فايل web.config ، نمونه هائی در اين زمينه می باشد .
ASP.NET ، مفهوم تائيد بر اساس فرم را با استفاده از كلاس FormAuthentication معرفی تا امكان ورود و خروج از يك سايت با سهولت بيشتری فراهم گردد . بدين منظور از  يك Authentication ticket حفاظت شده به منظور بخاطر سپردن اين كه چه كاربرانی login نموده اند ، استفاده می گرديد ( در زمان درخواست صفحات ) . برای ايجاد يك مكانيزم ايمن تبادل اطلاعات يك authentication ticket به عنوان يك كوكی بر روی كامپيوتر سرويس گيرنده ايجاد تا امكان بخاطر سپردن و تشخبص اين كه كاربر به برنامه و يا سايت login نموده است وجود داشته باشد (در درخواست های بعدی ) . كلاس FormAuthentication متدهای لازم به منظور كار با authentication ticket (  ايجاد :: logging و حذف :: logout ) را ارائه می نمايد.
تائيد كاربران مبتنی بر فرم به دنبال اين هدف بود تا بتواند يك رويكرد استاندارد برای انجام دو عمليات متداول در ارتباط با مديريت كاربران را ارائه نمايد .
روش فوق عليرغم مزايای متعدد ، پياده كنندگان را مجبور می نمايد كه همچنان حجم بالائی از كد را نوشته و مديريت بسياری از عمليات مرتبط با كاربران را خود انجام دهند( ايجاد صفحات login ,logoff ، تعريف يك كاربر جديد و ... ) . بدين ترتيب حجم كار پياده كنندگان نه تنها كمتر نمی گردد ، بلكه در بسياری از موارد نيز افزايش می يابد . رويكرد فوق باعث گرديد كه نتوان از يك روش جامع امنيتی استفاده نمود. مثلا" يك پياده كننده ممكن است اطلاعات كاربران را به صورت متن معمولی و رمزنشده در يك بانك ذخيره نمايد و ديگری به صورت hash  .
ايده تائيد كاربران مبتنی بر فرم ارائه شده  در ASP.NET 1.x ،‌ يك ايده بزرگ و در عين حال جالب است ولی به نظر  پياده سازی آن با در نظر گرفتن تمامی ملزومات مورد نياز يك سيستم مدرن مديريت كاربران انجام نشده است .

ASP.NET 2.0
فرآيند Authentication در ASP.NET 2.0 از طريق سرويس جديد membership  و Authorization از طريق سرويس جديد Roles انجام می شود.
ASP.NET 2.0 كار آغاز شده در تائيد كاربران مبتنی بر فرم را كه در نسخه ASP.NET 1.x شروع شده بود ، تكميل و امكانات مناسبی برای انجام عمليات متفاوتی نظير تائيد كاربران ، ايجاد يك كاربر جديد ، حذف يك كاربر و ويرايش اطلاعات كاربران از طريق برنامه نويسی و به كمك  كنترل های وب را ارائه نمود  . شيوه عملكرد عمومی تائيد كاربران مبتنی بر فرم در ASP.NET 2.0 مشابه نسخه قبلی است و می بايست عمليات اوليه و پيكربندی لازم را از طريق فايل های پيكربندی انجام داد  ( ثبت تنظيمات لازم در فايل web.config )  . چيزی كه در ASP.NET 2.0 به آن اضافه گرديد در واقع membership API  و كنترل های وب ( سرويس دهنده ) امنيتی است .   API فوق به برنامه نويسان اجازه می دهد از طريق كد به پتانسيل های سرويس  membership  دستيابی داشته باشند .
Membership API با استفاده از Provider model پياده سازی شده است . اين بدان معنی است كه عليرغم اين كه اينترفيس فوق به خوبی تعريف شده است ولی می توان در صورت تمايل ، پياده سازی آن را متناسب با شرايط موجود سفارشی نمود . فريمورك دات نت ، بدين منظور كلاس Membership را كه شامل متدهائی نظير CreateUser ,GetAllUser,Validateuser و ... است ، ارائه نموده است .سيستم membership قابليت ها و توانمندهای برنامه نويسی خود را از طريق كلاس Membership ارائه می نمايد . از كلاس فوق می توان مستقيما" در صفحات وب استفاده نمود . مثلا" می توان يك صفحه را ايجاد كه تمام كاربران در سيستم را ليست نمايد ( استفاده از متد Membership.GetAllUsers كه به يك GridView نسبت داده شده باشد) .
ASP.NET به همراه دو Membership provider از قبل تعبيه شده ارائه شده است .يكی برای ذخيره اطلاعات كاربران در يك بانك اطلاعاتی SQL و ديگری كه از اكتيو دايركتوری استفاده می نمايد .
علاوه بر موارد فوق ، ASP.NET 2.0 به منظور مديريت كاربران هفت كنترل متفاوت را ارائه كه با استفاده از آنان می توان برنامه های وبی را ايجاد نمود كه از پتانسيل سرويس های membership و roles استفاده نمايند . در واقع ، كنترل های فوق يك رابط كاربر مناسب برای انجام عمليات مرتبط با كاربران را ارائه می نمايند .

در صورتی كه از يك محل ذخيره سازی سفارشی استفاده شده باشد ( در صورت استفاده از يك membership provider سفارشی )  ، همچنان امكان استفاده از كنترل های فوق وجود خواهد داشت . اين كنترل ها عبارتند از :

تمامی كنترل های امنتيی اشاره شده را می توان بدون نياز به نوشتن كد استفاده نمود . مثلا" برای‌ ايجاد يك صفحه login كافی است يك صفحه با نام Login.aspx را ايجاد و يك كنترل Login را بر روی آن قرار داد . بدين ترتيب شما دارای يك صفحه login می باشيد بدون اين كه لازم باشد از يك خط كد استفاده شود . در صورت تمايل می توان شكل ظاهری و يا منطق كنترل را تغيير داد .
در بخش دوم به بررسی امكانات سرويس جديد membership در ASP.NET 2.0 و نحوه استفاده از آن در برنامه های وب خواهيم پرداخت .
 


استفاده از اين مطلب  با ذکر منبع و اهداف غيرانتفاعی بلامانع است .
http://www.srco.
ir