جستجو در محصولات

گالری پروژه های افتر افکت
گالری پروژه های PSD
جستجو در محصولات


تبلیغ بانک ها در صفحات
ربات ساز تلگرام در صفحات
ایمن نیوز در صفحات
.. سیستم ارسال پیامک ..
سرويس هاي Membership و Roles در ASP.NET 2.0
-(7 نفر) 
سرويس هاي Membership و Roles در ASP.NET 2.0
بازدید 1724
گروه: دنياي فن آوري
تائيد كاربران و امكان استفاده آنان از پتانسيل هاي موجود بر روي يك سايت و يا برنامه بر اساس مجوزهاي تعريف شده ، از جمله عمليات مهم در بسياري از وب سايت ها و يا برنامه هاي وب است . امروزه بر روي اينترنت مي توان سايت هاي متعددي را مشاهده نمود كه كاربران را ملزم به 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 اقدام به ويرايش و يا حذف ركوردهاي موجود كاربران نمود .
اضافه کردن نظر
نام:
پست الکترونيک:
نظرات کاربران:
کد امنیتی: تصویر امنیتیتغییر عکس