iT邦幫忙

DAY 4
2

ASP.NET技巧系列 第 5

ASP.NET 2.0 如何將MemberShip的資料庫建立在自己的資料庫上

ASP.NET 2.0可以透過Web Site Administration Tool來建立使用者登入的機制,並且可以有腳色管理的機制,不過一般使用的時候,都會在Web Site中的App_Data這個資料夾中產生一個MDF的檔案,這個檔案是SQL的資料庫檔案。然而如果我們需要與自己的資料表做相關的處理時,卻沒有這麼容易,畢竟我們其他會用到使用者的資料表不會建在那個MDF中,那麼要做Join就不是粉方便了

步驟一:建立自有的資料庫(如果已經存在省略)

步驟二:使用Aspnet_regsql.exe建立相關資料表

該檔案建立於您電腦中\Microsoft.NET\Framework\中的目前版本的目錄下(小喵的是在c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727),執行後就會啟動一個精靈,輸入主機、連線方式、帳號、密碼後,選擇資料庫,接著就會把相關資料表建立在您所選擇的資料庫中。

步驟三:設定Web.config

   <connectionStrings>
      <add name="SqlServices" connectionString="Data Source=IBM-MJ8JNYV1URH\SQLEXPRESS;Initial Catalog=DBBD;Persist Security Info=True;User ID=sa;password=xxxxxx"></add>
    </connectionStrings>
    <system.web>
      <roleManager enabled="true" defaultProvider="SqlProvider" >
        <providers>
          <add
            name="SqlProvider"
            type="System.Web.Security.SqlRoleProvider"
            connectionStringName="SqlServices"
            applicationName="MyApplication"
            />
        </providers>
      </roleManager>
      
      <membership defaultProvider="SqlProvider"
            userIsOnlineTimeWindow="15">
        <providers>
          <add
            name="SqlProvider"
            type="System.Web.Security.SqlMembershipProvider"
            connectionStringName="SqlServices"
            applicationName="MyApplication"
            enablePasswordRetrieval="false"
            enablePasswordReset="true"
            requiresQuestionAndAnswer="true"
            requiresUniqueEmail="false"
            passwordFormat="Hashed"
            maxInvalidPasswordAttempts="5"
            passwordAttemptWindow="10" />
        </providers>
      </membership>
      <authentication mode="Forms" >
        <forms loginUrl="login.aspx"></forms>
      </authentication>
    </system.web>

步驟四:在設定Web Site Administration Tool

此時看一下Provider應該會是指定的SqlServices,而建立的User,Roles也會在您ConnectionString指定的資料庫中建立了

^_^


上一篇
ASP.NET的驗證與授權機制(動態錄影說明)
下一篇
ASP.NET 2.0如何使用Login來存取自己的使用者資料庫
系列文
ASP.NET技巧17

尚未有邦友留言

立即登入留言