Wednesday, February 22, 2012

การสร้าง Membership Schema in SQL Server

 บทความนี้แนะนำการติดตั้ง SqlMembershipProvider Schema ลงในฐานข้อมูล Application สำหรับการเริ่มต้นการ Implement ASP.NET Membership เพื่อใช้ในระบบรักษาความปลอดภัย 

Step1: ทำการสร้างฐานข้อมูลสำหรับ SqlMembershipProvider

     จาก Solution Explorer ให้คลิกขวาที่โฟลเดอร์ App_Data และเลือก Add New Item จากนั้นเลือก Add a new SQL Database และให้กำหนดชื่อ SecurityTutorials.mdf ตามรูป


Step2 : เพิ่ม SqlMembershipProvider Schema ลงบนฐานข้อมูล Application

     SqlMembershipProvider จะประกอบไปด้วยชุดของ tables , Views และ Stored Procedure ซึ่งฐานข้อมูลออบเจกต์เหล่านี้สามารถกำหนดได้โดยใช้คำสั่ง aspnet_regsql.exe ซึ่งคำสั่งนี้อยู่ในโฟลเดอร์ %WINDIR%\Microsoft.Net\Framework\V2.0.50727\Folder.

     Installing the Application Services

     เมื่อรันคำสั่ง aspnet_regsql.exe จะมีหน้าจอ ASP.NET SQL Server Setup Wizard ดังรูป


     จากนั้นในขั้นตอนที่ 2 ระบบจะถามว่าต้องการจะเพิ่มหรือลบ application services ให้เลื่อ "Configure SQL Server for application services" ดังรูป


     ในขั้นตอนที่ 3 ระบบจะให้เลือก Server และ Database ให้ระบุดังนี้
  •      Server : localhost\InstanceName
  •      Windows authentication หรือ SQL authentication
  •      Database : SecurityTutorials Database 


     หลังจากระบุฐานข้อมูลแล้วให้คลิก Next จนกระทั่งถึงขั้นตอนสุดท้ายระบบก็จะทำการติดตั้ง application services และในฐานข้อมูล Application จะได้โครงสร้างข้อมูลของ SqlMembershipProvider
     จากนั้นให้กลับไปที่ Visual Studio และไปที่ Database Explorer เพื่อเข้าไปดู SecurityTutorials.mdf คุณจะเห็น tables , Views และ Stored Procedures ดังรูป


Step3 : Specify the Provider and Customizing Its Settings

     สุดท้ายให้ทำการ config ในไฟล์ web.config เพื่อ registers new provider named : SecurityTutorialsSqlMembershipProvider ดังนี้

     <configuration>
           <connectionStrings>
                <add name="SecurityTutorialsConnectionString"  connectionString="DataSource=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\SecurityTutorials.mdf;Integrated Security=True;User Instance=True"  providerName="System.Data.SqlClient"/>
           </connectionStrings>
           <system.web>
                 <membership defaultProvider="SecurityTutorialsSqlMembershipProvider">
                          <providers>
                                  <!--Add a customized SqlMembershipProvider -->
                                  <add name="SecurityTutorialsSqlMembershipProvider"
                                  type="System.Web.Security.SqlMembershipProvider"
                                  connectionStringName="SecurityTutorialsConnectionString"
                                  enablePasswordRetrieval="false"
                                  enablePasswordReset="true"
                                  requiresQuestionAndAnswer="true"
                                  applicationName="SecurityTutorials"
                                  requiresUniqueEmail="true"
                                  passwordFormat="Hashed"
                                  maxInvalidPasswordAttempts="5"
                                  minRequiredPasswordLength="7"
                                  minRequiredNonalphanumericCharacters="1"
                                  passwordAttemptWindow="10"
                                  passwordStrengthRegularExpression=""/>
                           </providers>
                  </membership>
          </system.web>
     </configuration>

     ในตอนนี้ Application ของเราได้ทำการลงทะเบียน AspNetSqlMembershipProvider และ SecurityTutorialsSqlMembershipProvider เพื่อใช้สำหรับ Implement ASP.NET Membership ในการสร้างระบบรักษาความปลอดภัยต่อไป

     ขอให้สนุกกับการเรียนรู้ .NET นะครับ

ref : http://www.thaicodeshare.net/%E0%B9%80%E0%B8%A3%E0%B8%A2%E0%B8%99%E0%B8%A3%E0%B9%81%E0%B8%A5%E0%B8%B0%E0%B9%81%E0%B8%9A%E0%B8%87%E0%B8%9B%E0%B8%99/tabid/36/ctl/Details/mid/385/ItemID/16/Default.aspx

No comments:

Post a Comment