在SQL Sever中使用form membership認證

來源:互聯網
上載者:User

visual studio 2005 提供了非常方面的通過 asp.net configuration設定使用者以及驗證的方式。同時提供了登入控制項來操作登入。不過讓我難過的是,預設是採用sql express在你的app_data建立一個mdb檔案。我現在要使用sql server來儲存那麼我需要一些配置。

1. 首先到你安裝.net frame works架構的目錄輸入下面命令,安裝membership到你的SQL server

C:/Documents and Settings/xxpp>C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_regsql.exe -S (local) -E -A m

Start adding the following features:
Membership

..參數-S 表明你是哪個sql server,我目前是本機,所以採用local,其他的自己換名字了。

參數-E 連結SQL 採用windwos的方式,本機不用輸入密碼呢。

參數-A m 增加membership 的feature 

成功完成後,開啟你的SQL SERVER 2000你就會看到已經多了一個aspnetdb的資料

2.隨後我們在web.config裡面添加以下資料庫連接,就是連結到剛才建立的資料庫

 其中呢,Data Source =xxx,表示我的資料來源,我採用混合認證方式,User ID=sa Password=Pass,我我自己的使用者名稱密碼呢。

<connectionStrings>
  <add name="aspnetdbConnectionString" connectionString="Data Source=xxx;Initial Catalog=aspnetdb;Persist Security Info=True;User ID=sa;Password=Pass"
   providerName="System.Data.SqlClient" />
 </connectionStrings>

3.配置網站開啟web.config添加以下MebmbershipProvide

其中要注意的就是connectionStringName="aspnetdbConnectionString"這個一定要同你在2步驟中配置的名一樣。

我們也可以看到我們添加了一個MySqlMembershipProvider

    <membership defaultProvider="MySqlMembershipProvider" >
      <providers>
        <clear/>
        <add name="MySqlMembershipProvider"
             connectionStringName="aspnetdbConnectionString"
             applicationName="MyAppName"
             type="System.Web.Security.SqlMembershipProvider, 
                        System.Web, Version=2.0.0.0, Culture=neutral, 
                        PublicKeyToken=b03f5f7f11d50a3a" />
      </providers>
    </membership>

 

4.ok,在visual studio 2005 裡面工具列,點擊WebSite -ASP.NET Configuration。看到關於web配置頁面。

在裡面選擇Provider ,然後點擊其中的“Select a different provider for each feature(advanced)

ok ,已經可以看到在Membership Provide的列表裡面看到了MySqlMembershipProvider了,點擊Test,成功連結。

 5.另外一種也可以的辦法如下,修改LocalSqlServer配置。我們可以看到在C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/CONFIG/machine.config裡面有這個選項。不過我們不需要修改。只是在我們de webconfig裡面重載一個呢。以下是另外一種web.config重點就是connectionstring 裡面的東西

 

<?xml version="1.0"?>
<!-- 
    Note: As an alternative to hand editing this file you can use the 
    web admin tool to configure settings for your application. Use
    the Website->Asp.Net Configuration option in Visual Studio.
    A full list of settings and comments can be found in 
    machine.config.comments usually located in 
    WindowsMicrosoft.NetFrameworkv2.xConfig 
-->
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
    <appSettings/>
    <connectionStrings>
    <remove name="LocalSqlServer" />
    <add name="LocalSqlServer" connectionString="Data Source=XPXPCOM;Initial Catalog=aspnetdb;Integrated Security=True"
     providerName="System.Data.SqlClient" />

    <add name="aspnetdbConnectionString" connectionString="Data Source=XXXXX;Initial Catalog=aspnetdb;Persist Security Info=True;User ID=sa;Password=Pass"
   providerName="System.Data.SqlClient" />
 </connectionStrings>
    <system.web>
        <!-- 
            Set compilation debug="true" to insert debugging 
            symbols into the compiled page. Because this 
            affects performance, set this value to true only 
            during development.
        -->
        <compilation debug="true"/>
        <!--
            The <authentication> section enables configuration 
            of the security authentication mode used by 
            ASP.NET to identify an incoming user. 
        -->
    <!--
        <authentication mode="Windows"/>
    -->
    <authentication mode="Forms" />
        <!--
            The <customErrors> section enables configuration 
            of what to do if/when an unhandled error occurs 
            during the execution of a request. Specifically, 
            it enables developers to configure html error pages 
            to be displayed in place of a error stack trace.

        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
            <error statusCode="403" redirect="NoAccess.htm" />
            <error statusCode="404" redirect="FileNotFound.htm" />
        </customErrors>
        -->
  


  </system.web>
</configuration>

 

 

另外我還看到http://lcx.cnblogs.com/archive/2006/06/29/438836.HTML有個寫的不錯的web.config可以參考一下是另外一種思路呢

 

當然還有個更加簡單的辦法,直接在windows裡面運行aspnetsql.exe,參考文檔http://weblogs.asp.net/scottgu/archive/2005/08/25/423703.aspx

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.