تور لحظه آخری
امروز : دوشنبه ، 18 تیر 1403    احادیث و روایات:  امام حسین (ع):چه آسان است مرگى كه در راه رسيدن به عزّت و احياى حق باشد، مرگ عزتمندانه جز زندگى جاو...
سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون شرکت ها

تبلیغات

تبلیغات متنی

اتاق فرار

خرید ووچر پرفکت مانی

تریدینگ ویو

کاشت ابرو

لمینت دندان

ونداد کولر

صرافی ارکی چنج

صرافی rkchange

دانلود سریال سووشون

دانلود فیلم

ناب مووی

رسانه حرف تو - مقایسه و اشتراک تجربه خرید

سرور اختصاصی ایران

تور دبی

دزدگیر منزل

تشریفات روناک

اجاره سند در شیراز

قیمت فنس

armanekasbokar

armanetejarat

صندوق تضمین

پیچ و مهره

طراحی کاتالوگ فوری

دانلود کتاب صوتی

تعمیرات مک بوک

Future Innovate Tech

آموزشگاه آرایشگری مردانه شفیع رسالت

پی جو مشاغل برتر شیراز

قیمت فرش

آموزش کیک پزی در تهران

لوله بازکنی تهران

میز جلو مبلی

هتل 5 ستاره شیراز

آراد برندینگ

رنگ استخری

سایبان ماشین

قالیشویی در تهران

مبل استیل

بهترین وکیل تهران

شرکت حسابداری

نظرسنجی انتخابات 1403

استعداد تحلیلی

کی شاپ

خرید دانه قهوه

دانلود رمان

وکیل کرج

آمپول بیوتین بپانتین

پرس برک

بهترین پکیج کنکور

خرید تیشرت مردانه

خرید نشادر

خرید یخچال خارجی

وکیل تبریز

اجاره سند

وام لوازم خانگی

نتایج انتخابات ریاست جمهوری

خرید ووچر پرفکت مانی

خرید سی پی ارزان

خرید ابزار دقیق

بهترین جراح بینی خانم

تاثیر رنگ لباس بر تعاملات انسانی

خرید ریبون

ثبت نام کلاسینو

 






آمار وبسایت

 تعداد کل بازدیدها : 1805649112




هواشناسی

نرخ طلا سکه و  ارز

قیمت خودرو

فال حافظ

تعبیر خواب

فال انبیاء

متن قرآن



اضافه به علاقمنديها ارسال اين مطلب به دوستان آرشيو تمام مطالب
archive  refresh

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


واضح آرشیو وب فارسی:راسخون:
سرويس های Membership و Roles در ASP.NET 2.0
سرويس های Membership و Roles در ASP.NET 2.0 تائيد كاربران و امكان استفاده آنان از پتانسيل های موجود بر روی يك سايت و يا برنامه بر اساس مجوزهای تعريف شده ، از جمله عمليات مهم در بسياری از وب سايت ها و يا برنامه های وب است . امروزه بر روی اينترنت می توان سايت های متعددی را مشاهده نمود كه كاربران را ملزم به login نموده تا پس از بررسی هويت آنان ، امكان استفاده از امكانات موجود بر روی سايت ( تمام سايت و يا بخش هائی خاص ) بر اساس مجوزهای تعريف شده ، فراهم گردد . به عنوان نمونه ، در برخی از سايت ها امكان ارسال خبر ، پيام ، مشاهده مقالات و ... صرفا" در اختيار كاربران تائيد شده گذاشته می شود . در سناريوی فوق ما با دو چالش اساسی مواجه هستيم : • تائيد هويت كاربران ( Authentication ) • استفاده از امكانات موجود بر روی سايت توسط كاربران با توجه به مجوزهای تعريف شده ( Authorization ) اجازه دهيد قبل از اين كه به نحوه مديريت كاربران در ASP كلاسيك ، ASP.NET 1.x و ASP.NET 2.0 اشاره نمائيم ، تعريفی داشته باشيم از Authentication و Authorization : • Authentication ، فرآيندی است كه بر اساس آن هويت يك كاربر بررسی می گردد. پس از تائيد كاربر ، اين موضوع بررسی خواهد شد كه كاربر تائيد شده مجاز به انجام چه نوع عملياتی است . • Authorization ، فرآيندی است كه بر اساس آن مشخص می گردد كاربر تائيد شده مجاز به انجام چه نوع عملياتی است . با استفاده از فرآيندهای فوق ، پياده كنندگان می توانند يك سايت را با توجه به نوع كاربران سفارشی نمايند . ملزومات يك سيستم مديريت كاربران به منظور تامين فرآيندهای Authentication و Authorization ايجاد يك سيستم جهت مديريت كاربران مستلزم انجام مراحل مشابهی است : • ايجاد يك بانك اطلاعاتی كه اطلاعات مربوط به كاربران در آن ذخيره گردد. • ايجاد يك صفحه login • ايجاد سيستمی به منظور كنترل اين كه كاربران قادر به دستيابی چه صفحاتی می باشند . • ايجاد يك صفحه برای تعريف كاربر جديد • ايجاد يك صفحه برای مديريت سايت جهت مديريت كاربران • و ... در ادامه به بررسی امكانات ارائه شده در 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 شامل نام و رمز عبور را ارائه می نمايد . به صورت پيش فرض ، زمانی كه كاربر بر روی دكمه login كليك می نمايد يك postback ايجاد و كنترل تلاش می نمايد تا بر اساس اطلاعات درج شده توسط كاربر وی را تائيد نمايد . بدين منظور متد ( Verify (Username,password مربوط به كلاس membership صدا زده می شود . در صورتی كه اطلاعات درج شده معتبر باشند ، يك authentication thicket برای كاربر ايجاد می گردد . در غيراينصورت يك پيام خطاء بر روی اينترفيس نمايش داده می شود . • LoginView : در برخی موارد لازم است كه در يك صفحه محتويات متفاوتی را با توجه به ماهيت كاربر ( ناشناس و يا تائيد شده ) ، نمايش داد. مثلا" زمانی كه يك كاربر ناشناس صفحه اصلی يك وب سايت را مشاهده می نمايد يك Login web control نمايش داده شود و زمانی كه يك كاربر تائيد شده همان صفحه را مشاهده می نمايد ، يك پيام خاص مرتبط با نام كاربر به همراه يك لينك جهت logoff نمايش داده شود . با استفاده از كنترل loginview می توان از دو تمپليت AnonymouseTemplate و LoggedInTemplate استفاده نمود . كنترل های وب و تگ های Html را می توان در AnonymouseTemplate برای كاربران ناشناس و كنترل ها و تگ های html برای كاربران تائيد شده را در LoggedInTemplate قرار داد . Loginview همچنين می تواند خروجی های متفاوتی را با توجه به نقش كاربر تائيد شده نمايش دهد . • PasswordRecovery : كنترل فوق ، اين امكان را در اختيار كاربران قرار می دهد تا بتوانند رمزعبور موجود و يا جديدی را از طريق email دريافت نمايند . در صورتی كه memebership provider رمز عبور را به صورت hashed ذخيره كرده باشد ، فرآيند بازيافت رمز عبور عملا" ايجاد يك رمز عبور جديد و تصادفی است كه برای كاربر ارسال می گردد . برای رمزهای عبوری كه به صورت plain text و يا رمز شده می باشند ، رمز عبور واقعی موجود برای كاربر از طريق email ارسال می گردد . • Loginstatus : كنترل فوق يك لينك به صفحه login را برای كاربران ناشناس و تائيد نشده ، نمايش خواهد داد . در صورتی كه يك كاربر تائيد شده صفحه را ملاقات نمايد ، يك لينك logoff برای وی نمايش داده می شود . • LoginName : كنترل فوق ، نام كاربر تائيد شده ای را كه به سيستم وارد شده است ، نمايش می دهد . با استفاده از User.Identity.Name در برنامه ، می توان به كاربرانی كه به سايت و يا برنامه login نموده اند ، دستيابی داشت . • CreateUserWizard : علاوه بر يك صفحه جهت logging ، هر وب سايت مبتنی بر account نياز به صفحه ای دارد تا مشخص نمايد كداميك از كاربران قادر به ايجاد يك كاربر جديد می باشند . كنترل CreateUserWizard ، يك رابط كاربر گرافيكی مناسب برای ايجاد يك كاربر جديد را ايجاد می نمايد.همانند كنترل login ، پس از تكميل داده در فيلدهای مورد نياز و كليك بر روی دكمه Create user ، متد CreateUser كلاس Membership فراخوانده می شود . CreateUserWizard همچنين می تواند در صورت نياز با استفاده از تمپليت ها سفارشی گردد. • Changepassword : از كنترل فوق به متظور تغيير رمز عبور استفاده می گردد .تمامی كنترل های امنتيی اشاره شده را می توان بدون نياز به نوشتن كد استفاده نمود . مثلا" برای‌ ايجاد يك صفحه login كافی است يك صفحه با نام Login.aspx را ايجاد و يك كنترل Login را بر روی آن قرار داد . بدين ترتيب شما دارای يك صفحه login می باشيد بدون اين كه لازم باشد از يك خط كد استفاده شود . در صورت تمايل می توان شكل ظاهری و يا منطق كنترل را تغيير داد .تائيد كاربران در ASP.NET 2.0 ASP.NET 2.0 ، سرويس membership را به منظور تائيد كاربران جهت دستيابی به تمام صفحات و يا صفحاتی خاص از يك وب سايت ارائه نموده است . سرويس فوق ، علاوه بر ارائه يك API جديد برای مديريت كاربران ، كنترل های سرويس دهنده جديدی را به منظور پياده سازی فرآيند تائيد در اختيار پياده كنندگان قرار می دهد.چگونه می توان از سرويس membership استفاده نمود ؟ قبل از اين كه بتوان از كنترل های سرويس دهنده امنيتی استفاده نمود ، می بايست در ابتدا پيكربندی برنامه را بگونه ای انجام داد كه امكان استفاده از سرويس membership فراهم گردد . به صورت پيش فرض ، ASP.NET 2.0 از AspNetSqlProvider برای ذخيره جزئيات اطلاعات مربوط به كاربران ريجستر شده استفاده می نمايد .يكی از دستاوردهای مهم ASP.NET 2.0 ، ارائه يك data provider model است كه مسئوليت جزئيات عمليات مديريتی مورد نياز برای ارتباط با چندين نوع منبع داده را برعهده می گيرند .همانگونه كه در شكل فوق مشاهده می نمائيد ، Membership provider ( همانند ساير ASP.NET 2.0 Provider models ) قادر به دستيابی مجموعه ای گسترده از منابع داده است . در شكل فوق ، صرفا" منبع داده SQL Server ( گزينه پيش فرض ) نشان داده شده است . پياده كنندگان می توانند در صورت تمايل اقدام به پياده سازی membership provider اختصاصی خود نموده تا به كمك آن با ساير منابع داده ارتباط برقرار نمايند . در شكل فوق ، همچنين مجموعه ای از كنترل های سرويس دهنده امنيتی كه امكان دستيابی به Provider model برای پياده سازی فرآيند تائيد كاربران را فراهم می نمايند ، مشاهده می گردد . افزودن عنصر <authentication> در فايل web.config برای استفاده از تائيد كاربران مبتنی بر فرم در يك برنامه وب جهت بكارگيری سرويس جديد membership ، اولين مرحله فعال كردن ويژگی فوق از طريق فايل web.config است . در صورت عدم وجود فايل web.config ، در ابتدا آن را ايجاد و بخش زير را به آن اضافه می نمائيم : <?xml version=�1.0� encoding="utf-8" ?>   <configuration>     <system.web>        <authentication mode="Forms" />     </system.web>    </configuration> با اضافه كردن عنصر <authentication> به فايل web.config ، امكان استفاده از تمامی پتانسيل های سرويس membership ارائه شده توسط ASP.NET 2.0 فراهم می گردد . بدين منظور می بايست مقدار خصلت mode ، معادل Forms در نظر گرفته شود ( خصلت فوق می تواند مقادير ديگری نظير windows ,passport و None را داشته باشد ) . افزودن عنصر <forms> به فايل web.config استفاده از تائيد مبتنی بر فرم ، كاربران را ملزم به درج نام و رمز عبور خود در يك فرم خاص می نمايد . زمانی كه يك كاربر قصد دستيابی به يك وب سايت را داشته باشد ، در ابتدا وی به صورت يك كاربر ناشناس ( anonymous ) وارد سايت می گردد . در صورتی كه تشخيص داده شود كه كاربر ناشناس است ، ASP.NET وی را به يك صفحه خاص login هدايت می نمايد . پس از درج نام و رمز عبور و تائيد هويت كاربر ، برای وی يك HTTP cookie ايجاد كه از آن در درخواست های آتی استفاده می گردد . كد زير نحوه تعريف يك فرم در فايل web.config را نشان می دهد .  <?xml version=�1.0� encoding="utf-8" ?>    <configuration>       <system.web>          <authentication mode="Forms">               <forms name=".ASPXAUTH"                   loginUrl="login.aspx"                   protection="All"                   timeout="30"                   path="/"                   requireSSL="false"                   slidingExpiration="true"                   cookieless="useDeviceProfile" />           </authentication>     </system.web>   </configuration> توضيحات : • عنصر <forms> می بايست درون عنصر <authentication> تعريف گردد. • خصلت name ، نام كوكی ارسالی برای كاربران تائيد شده را مشخص می نمايد . نام كوكی به صورت پيش فرض ، ASPXAUTH . در نظر گرفته می شود . • loginUrl ، صفحه login را مشخص می نمايد . ( در صورتی كه كوكی با نام ASPZAUTH . و يا هر نام ديگری پيدا نشود ) . به صورت پيش فرض مقدار اين خصلت login.aspx در نظر گرفته می شود . • Protection ، ميزان حفاظت اعمال شده در خصوص كوكی ذخيره شده بر روی ماشين كاربر را مشخص می نمايد . خصلت فوق می تواند يكی از مقادير All ,None , Encryption و Validation را دارا باشد كه معمولا" از گزينه All استفاده می گردد . • timeout ، مدت زمان حيات يك كوكی را مشخص می نمايد ( بر حسب دقيقه ) . مقدار پيش فرض سی دقيقه است . • Path ، مسير ذخيره كوكی را مشخص می نمايد . • requireSSL ، مشخص می نمايد كه آيا اطلاعات حساس كاربر شامل نام و رمز عبور می بايست به صورت رمز شده و از طريق پروتكل SSL ارسال گردد . • slidingExpiration ، مدت زمان timeout كوكی را در يك sliding scale مشخص می نمايد. با توجه به اين كه مقدار گزينه فوق به صورت پيش فرض True در نظر گرفته می شود، كوكی ايجاد شده بر روی ماشين كاربر سی دقيقه ( مقدار مشخص شده توسط خصلت timeout ) پس از آخرين درخواست اعتبار خواهد داشت . در صورتی كه مقدار خصلت فوق False در نظر گرفته شود ، اعتبار كوكی پس از گذشت سی دقيقه از اولين درخواست به اتمام خواهد رسيد . • cookieless ، نحوه مديريت كوكی توسط ASP.NET را مشخص می نمايد . خصلت فوق می تواند يكی از مقادير useDeviceProfile , UseCookies ,auto ، useUrl را دارا باشد . مقدار پيش فرض ، useDeviceProfile در نظر گرفته می شود و نحوه مديريت كوكی بر اساس user agent دستگاه سرويس گيرنده انجام خواهد شد . محل ذخيره اطلاعات كاربران در سرويس membership SqlMemberShipProvider ، يكی از دو Membership Provider است كه به همراه ASP.NET 2.0 ارائه شده است و از يك بانك اطلاعاتی SQL Server به منظور ذخيره اطلاعات كاربران استفاده می نمايد . به منظور استفاده از Provider فوق ، می بايست يك DataBase schema ايجاد تا در ادامه provider بتواند از آن استفاده نمايد . به منظور انجام اين كار می توان از دو روش زير استفاده نمود : • استفاده از ابزار مديريت ASP.NET website : با استفاده از ابزار فوق يك database schema در يك فايل SQL server 2005 ( فايل ASPNETDB.mdf ) و در فولدر App_Data ايجاد می گردد . • استفاده از ابزار خط دستوری ASP.NET SQL Server Registration tool ( فايل aspnet_regsql.exe ) برای استفاده از ابزار مديريت ASP.NET website ، پس از اجرای ويژوال استوديو دات نت 2005 ، از طريق منوی Website گزينه ASP.NET configuration را انتخاب می نمائيم . در ادامه و از طريق Security Tab ، نوع authentication را به "From internet" تغيير می دهيم . مراحل فوق را می توان از طريق لينك موجود در Authentication box و يا توسط Security Setup Wizard و دنبال نمودن مراحل مربوطه ، انجام داد . با انجام مراحل فوق ، به صورت اتوماتيك يك بانك اطلاعاتی با نام ASPNETDB.mdf در فولدر App_Date ايجاد كه دارای ساختار از قبل تعريف شده ای است . در مواردی كه از ابزار مديريت وب سايت برای مشخص كردن نوع authentication ، به "From internet" استفاده می گردد، خط زير به فايل web.config اضافه می گردد : <?xml version=�1.0� encoding="utf-8" ?>   ...        <authentication mode="Forms" />   ... در صورتی كه لازم است اطلاعات كاربران را در مكانی ديگر ذخيره نمود ( در يك بانك SQL Server 2000 و يا يك بانك SQL Server 2005 كه در فولدر App_data موجود نمی باشد ) ، می بايست از ابزار aspnet_regsql.exe استفاده نمود . در صورتی كه ايجاد Schema از طريق ASP.NET SQL Server Registration tools انجام شود ، می بايست عبارت اشاره شده به صورت دستی در فايل web.config اضافه گردد . در صورتی كه Schema در يك بانك اطلاعاتی ديگر غير از ASPNETDB.mdf و فولدر App_Data باشد ، لازم است كه پيكربندی membership را در فايل web.config سفارشی و connection string مربوطه را مشخص نمود .SqlMemberShipProvider اطلاعات مربوط به كاربران را در دو جدول زير ذخيره می نمايد : • aspnet_users ، برای هر user account دارای يك سطر است كه اطلاعات پايه را نگهداری می نمايد . ستون UserID به صورت منحصربفرد هر كاربر را در سيستم مشخص و به صورت يك uniqueidentifier ذخيره می نمايد ( يك GUID ) . • aspnet_membership ، دارای يك ستون UserId است كه هر ركورد را به يك ركورد خاص در aspnet_membership مرتبط می نمايد. جدول فوق ، اطلاعات مرتبط با هر account نظير email,password و ساير موارد را در خود ذخيره می نمايد . سفارشی نمودن SqlMembershipProvider در صورت استفاده از SqlMembershipProvider با تنظميات پيش فرض (اطلاعات مربوط به كاربران در فايل ASPNETDB.mdf سرويس دهنده SQL 2005 و درفولدر App_Data ذخيره می گردد ) ، ضرورتی به اعمال تغييرات در فايل web.config نمی باشد. در غير اينصورت ، می بايست از تائيديه مبتنی بر فرم استفاده شود و قوانين لازم جهت مجوزها نيز مشخص گردد . در صورتی كه قصد استفاده از يك بانك اطلاعاتی ديگر را داشته باشيم و يا بخواهيم برخی تنظميات memebership را تغيير دهيم ( حداقل طول رمز عبور ، نحوه ذخيره رمز عبور به صورت plain text ، hashed و يا رمزشده و ... ) ، می بايست تنظميات سفارشی را در فايل web.config ثبت نمود .نمونه كد زير نحوه سفارشی نمودن تنظيمات MemeberShipProvider را نشان می دهد .  <configuration>  <connectionStrings>     <add name="MyDB" connectionString="..." />   </connectionStrings>   <system.web>        <membership defaultProvider="CustomizedProvider">          <providers>             <add name="CustomizedProvider"                      type="System.Web.Security.SqlMembershipProvider"                     connectionStringName="MyDB"                      minRequiredPasswordLength="5"                      minRequiredNonalphanumericCharacters="0" />      </providers>   </membership>  </system.web></configuration> در <membership> ، يك provider جديد با نام CustomizedProvider تعريف تا membership provider پيش فرض را ايجاد می نمايد . provider سفارشی فوق ، همچنان از SqlMemberShipProvider استفاده می نمايد و صرفا" برخی مقادير مربوطه سفارشی شده است .پس از پيكربندی ASP.NET website ، جهت استفاده از سيستم Membership می توان مديريت كاربران سايت را از طريق ابزار مديريت وب سايت ASP.NET انجام داد . پس از فعال شدن برنامه فوق با استفاده از Security tab و كليك بر روی لينك Create User می توان يك كاربر جديد را ايجاد و يا از طريق لينك manage users اقدام به ويرايش و يا حذف ركوردهای موجود كاربران نمود .





این صفحه را در گوگل محبوب کنید

[ارسال شده از: راسخون]
[مشاهده در: www.rasekhoon.net]
[تعداد بازديد از اين مطلب: 855]

bt

اضافه شدن مطلب/حذف مطلب







-


گوناگون

پربازدیدترینها
طراحی وب>


صفحه اول | تمام مطالب | RSS | ارتباط با ما
1390© تمامی حقوق این سایت متعلق به سایت واضح می باشد.
این سایت در ستاد ساماندهی وزارت فرهنگ و ارشاد اسلامی ثبت شده است و پیرو قوانین جمهوری اسلامی ایران می باشد. لطفا در صورت برخورد با مطالب و صفحات خلاف قوانین در سایت آن را به ما اطلاع دهید
پایگاه خبری واضح کاری از شرکت طراحی سایت اینتن