locked
چگونه Membershipها را برای پروژه خود سفارشی کنیم؟

    Question

  • پيكربندي سرویسهای کاربردي ASP.Net 2.0 برای استفاده از SQLServer2000 یا SQLServer2005

     

    چطور Provider ها را برای استفاده از SQLServer در عوض استفاده از SQL Express تغیر دهیم

    اگر شما قصد دارید تا به عنوان مثال از یک SQLServer2000 یا SQLServer2005 بجای یک SQL Express استفاده کنید بهتر است گامهای زیر را همراه با ما دنبال کنید:

    مرحـله1 :         ایجاد یا فراهم سازی یک بانک اطلاعاتی خالی برای مثال:

    شما در این مرحله برای اتصال و ایجاد یک رشته اتصال (Connection String) به یک بانک اطلاعاتی خالی احتیاج دارید که برای مثال هم می توان آن را ایجاد کرد و هم در مکانی دیگر به آن متصل شد.

     

    مرحـله2 :        تدارک دیدن SQL Database با الگوهای ASP.Net 2.0

    در این مرحله شما با اجرای برنامه aspnet_regsql.exe از Command-line در مسیر زیر که همراه با .NetFreamwork2.0 نصب می شود قادر خواهید بود تا پایگاه داده خود را با الگوهای ASP.Net 2.0 سازگار کنید.

    آدرس: C:\WINDOWS\Microsoft.NET\Framework\v2.0\

    نکته: اگر نیاز بود تا در رابطه با سویچ های اجرایی این فایل اجرایی راهنمایی را بدست آورید کافیست تا از سویچ -? استفاده کنید.

    خوب اگر شما تمام مراحل فوق را درست طی کرده باشید قادر به مشاهده پنجره زیر خواهید بود.

     

     

     


     

     


     

    شما فقط یک بار مجاز به انجام مراحل فوق هستید و باید تمام الگو سرویسهای کاربردی را به روی پایگاه داده خود پیاده کنید.

     

    مرحـله3 :       اشاره ای به فایل [web.config] در دیتابیس جدیدتان

    ASP.Net 2.0 در حال حاضر بخشی را در فایل [web.config] شما پشتیبانی می کند به نام [<Connection String>] که رشته اتصال شما به دیتابیس را در خود نگه می دارد. یکی از چیزهای جدید ASP.Net 2.0 مدیر MMC است که شما در این بخش که در تصویر زیر نمایش داده شده است قادر به مدیریت پایگاه داده خود از کنسول Admin MMC بصورت یک رابط گرافيكي خواهید بود.

     

     


     

    در این حالت ASP.Net 2.0 از encryption ها برای [passwords, connection string,…] پشتیبانی می کند یا شما حتی می توانید از این امکانات آن صرف نظر کرده و خودتان رشته های اتصال یا Provider ها را بصورت دستی به فایل web.config برنامه اضافه کنید. ASP.Net 2.0 بصورت پیش فرض نام LocalSqlServer"" را برای پيكربندي SQL Express, Membership, Rules, Personalize, Profile و Provider های شما اختصاص می دهد .

    برای مثال کد های زیر را ببینید:

    <configuration>

          <connectionStrings>

    <remove name=" LocalSqlServer" />

    <add name="StrCon"

    connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ASPNETDB.MDF; Integrated Security=True;User Instance=True"

    providerName="System.Data.SqlClient" />

         </connectionStrings>

    </configuration>

     

    خوب از این به بعد برنامه هایی که به رشته اتصال نیاز دارند قادر به استفاده از این کد شما می باشند.

    سوالات متداول:

    س: در صورتي که پایگاه داده ما به روی سرور دیگری باشد این رشته اتصال را، به چه صورت تعریف می کنیم؟

    ج:

    <configuration>

          <connectionStrings>

    <remove name=" LocalSqlServer" />

    <add name="StrCon"

    connectionString="Data Source=yourDboServerName;database=ASPNETDB;uid=*****;pwd=*****"

    providerName="System.Data.SqlClient" />

         </connectionStrings>

    </configuration>

     

    س: چگونه می توان Provider را برای این رشته اتصال سفارشی کرد؟

    ج: لطفا به مثال زیر توجه کنید:

           <system.web>

                  <roleManager enabled="true" />

                  <authentication mode="Forms"/>

                  <membership defaultProvider="MyMembershipProvider">

                         <providers>

                                <clear/>

                                <add connectionStringName="StrCon"

                                 enablePasswordRetrieval="false"

                                  enablePasswordReset="true"

                                 requiresQuestionAndAnswer="false"

                                  applicationName="/"

                                 requiresUniqueEmail="true"

                                 passwordFormat="Hashed"

                                   maxInvalidPasswordAttempts="5"

                                 minRequiredPasswordLength="7"

                                  name="MyMembershipProvider"

                                 type="System.Web.Security.SqlMembershipProvider" />

                         </providers>

                  </membership>

           </system.web>

     

    س: چگونه صفحه ورود به سایت را برای یک کاربر ناشناس سفارشی کنیم؟

    ج:

    استفاده از تائيد مبتنی بر فرم ، كاربران را ملزم به درج نام و رمز عبور خود در يك فرم خاص می نمايد . زمانی كه يك كاربر قصد دستيابی به يك وب سايت را داشته باشد ، در ابتدا وی به صورت يك كاربر ناشناس ( anonymous ) وارد سايت می گردد . در صورتی كه تشخيص داده شود كه كاربر ناشناس است ، ASP.NET وی را به يك صفحه خاص login هدايت می نمايد . پس از درج نام و رمز عبور و تائيد هويت كاربر ، برای وی يك HTTP cookie ايجاد كه از آن در درخواست های آتی استفاده می گردد . كد زير نحوه تعريف يك فرم در فايل web.config را نشان می دهد . شما در این تنظیمات قادر به تغیر مسیر پیش فرض فایل ورود به سایت و حتی تغیر نام فایل و... خواهید بود. به مثال زیر توجه کنید:


    LoginUrl="login.aspx"

    protection="All"

    timeout="30"

    path="/"

    requireSSL="false"

    slidingExpiration="true"

    cookieless="useDeviceProfile"

    Saturday, September 26, 2009 11:14 AM

All replies