第一次用.net2.0 LOGIN登陸控件的困惑和解決方法
1、我們沒有真正的服務(wù)器,我們只是租用了.net2.0 + SQLserver空間,SQL數(shù)據(jù)庫名是固定的。
2、空間提供商不可能給我們設(shè)定數(shù)據(jù)源或給你aspnetdb數(shù)據(jù)庫權(quán)限。
3、我們沒有服務(wù)器的 \Windows\Microsoft.Net\Framework\v2.x\Config 權(quán)限。
已知上面三點(diǎn),如果直接把本地測試好的項(xiàng)目傳到服務(wù)器肯定會(huì)出錯(cuò)(因?yàn)樗J(rèn)是調(diào)用\Windows\Microsoft.Net\Framework\v2.x\Config ),我認(rèn)為好的解決方法是把a(bǔ)spnetdb數(shù)據(jù)庫內(nèi)容全部導(dǎo)入自己的遠(yuǎn)程SQL數(shù)據(jù)庫后,再定義項(xiàng)目的web.config數(shù)據(jù)庫連接字符串。
web.config
<?xml version="1.0"?>
<!--
注意: 除了手動(dòng)編輯此文件以外,您還可以使用
Web 管理工具來配置應(yīng)用程序的設(shè)置。可以使用 Visual Studio 中的
“網(wǎng)站”->“Asp.Net 配置”選項(xiàng)。
設(shè)置和注釋的完整列表在
machine.config.comments 中,該文件通常位于
\Windows\Microsoft.Net\Framework\v2.x\Config 中
-->
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<connectionStrings>
<!--定義數(shù)據(jù)庫連接-->
<add name="DbName" connectionString="Persist Security Info=False;server=127.0.0.1;database=aspnetdb;uid=sa;pwd=123;pooling=true"/>
</connectionStrings>
<appSettings>
</appSettings>
<system.web>
<!--
connectionStringName 數(shù)據(jù)庫連接。這個(gè)要在web.config設(shè)置
enablePasswordRetrieval 獲得一個(gè)值,指示當(dāng)前成員資格提供程序是否配置為允許用戶檢索其密碼。
enablePasswordReset 獲得一個(gè)值,指示當(dāng)前成員資格提供程序是否配置為允許用戶重置其密碼。
requiresQuestionAndAnswer 獲取一個(gè)值,該值指示默認(rèn)成員資格提供程序是否要求用戶在進(jìn)行密碼重置和檢索時(shí)回答密碼提示問題。
applicationName 獲取或設(shè)置應(yīng)用程序的名稱。
requiresUniqueEmail 指示用戶在創(chuàng)建用戶時(shí)是否必須提供唯一的電子郵件地址值。
passwordFormat 指示在成員資格數(shù)據(jù)存儲區(qū)中存儲密碼的格式。下面有詳細(xì)說明
maxInvalidPasswordAttempts 獲取鎖定成員資格用戶前允許的無效密碼或無效密碼提示問題答案嘗試次數(shù)。
minRequiredPasswordLength 獲取密碼所要求的最小長度。
minRequiredNonalphanumericCharacters 獲取有效密碼中必須包含的最少特殊字符數(shù)。
passwordAttemptWindow 獲取在鎖定成員資格用戶之前允許的最大無效密碼或無效密碼提示問題答案嘗試次數(shù)的分鐘數(shù)。
對PasswordFormat 的詳細(xì)說明
屬性指示存儲密碼的格式。密碼可以采用 Clear、Encrypted 和 Hashed 密碼格式存儲。Clear 密碼以明文形式存儲,這可以提高存儲和檢索密碼的性能,但安全性較差,當(dāng)數(shù)據(jù)源安全性受到威脅時(shí)此類密碼很容易被讀取。Encrypted 密碼在存儲時(shí)進(jìn)行了加密,可以在比較或檢索密碼時(shí)進(jìn)行解密。此類密碼在存儲和檢索時(shí)需要進(jìn)行額外的處理,但比較安全,在數(shù)據(jù)源的安全性受到威脅時(shí)不容易被獲取。Hashed 密碼在存儲到數(shù)據(jù)庫時(shí)使用單向哈希算法和隨機(jī)生成的 salt 值進(jìn)行哈希處理。在驗(yàn)證某一密碼時(shí),將用數(shù)據(jù)庫中的 salt 值對該密碼進(jìn)行哈希計(jì)算以進(jìn)行驗(yàn)證。無法檢索哈希密碼。
-->
<roleManager enabled="true" />
<membership>
<providers>
<remove name="AspNetSqlMembershipProvider"/>
<add name="AspNetSqlMembershipProvider"
type=" System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
connectionStringName="DbName"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
applicationName="/"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="6"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
passwordStrengthRegularExpression="" />
</providers>
</membership>
<!--
設(shè)置 compilation debug="true" 可將調(diào)試符號插入
已編譯的頁面中。但由于這會(huì)
影響性能,因此只應(yīng)在開發(fā)過程中設(shè)置
此值。
Visual Basic 選項(xiàng):
設(shè)置 strict="true" 將禁止所有會(huì)導(dǎo)致
數(shù)據(jù)丟失的類型轉(zhuǎn)換。
設(shè)置 explicit="true" 將強(qiáng)制聲明所有變量。
-->
<compilation debug="true" strict="false" explicit="true"/>
<pages>
<namespaces>
<clear/>
<add namespace="System"/>
<add namespace="System.Collections"/>
<add namespace="System.Collections.Specialized"/>
<add namespace="System.Configuration"/>
<add namespace="System.Text"/>
<add namespace="System.Text.RegularExpressions"/>
<add namespace="System.Web"/>
<add namespace="System.Web.Caching"/>
<add namespace="System.Web.SessionState"/>
<add namespace="System.Web.Security"/>
<add namespace="System.Web.Profile"/>
<add namespace="System.Web.UI"/>
<add namespace="System.Web.UI.WebControls"/>
<add namespace="System.Web.UI.WebControls.WebParts"/>
<add namespace="System.Web.UI.HtmlControls"/>
</namespaces>
</pages>
<!--
通過 <authentication> 節(jié)可以配置 ASP.NET 使用的
安全身份驗(yàn)證模式,
以標(biāo)識傳入的用戶。
-->
<authentication mode="Forms" />
<!--
如果在執(zhí)行請求的過程中出現(xiàn)未處理的錯(cuò)誤,
則通過 <customErrors> 節(jié)可以配置相應(yīng)的處理步驟。具體說來,
開發(fā)人員通過該節(jié)可以配置
要顯示的 html 錯(cuò)誤頁
以代替錯(cuò)誤堆棧跟蹤。
<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
<error statusCode="403" redirect="NoAccess.htm" />
<error statusCode="404" redirect="FileNotFound.htm" />
</customErrors>
-->
</system.web>
</configuration>
注:membership節(jié)點(diǎn)的那個(gè)注釋是轉(zhuǎn)載的,忘了地址了。
相關(guān)文章
詳解ASP.NET Core實(shí)現(xiàn)強(qiáng)類型Configuration讀取配置數(shù)據(jù)
本篇文章主要介紹了詳解ASP.NET Core實(shí)現(xiàn)強(qiáng)類型Configuration讀取配置數(shù)據(jù) ,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05Asp.net 連接MySQL的實(shí)現(xiàn)代碼[]
ASP.NET連接MySQL需要一個(gè)組件(.net本身不提供訪問MySQL的驅(qū)動(dòng))MySQL.Data.Dll,此為官方提供(純C#開發(fā),開源噢),有多個(gè)版本選擇,采用的數(shù)據(jù)訪問模式為ADO.NET,跟asp.net訪問sqlserver很像,非常簡單。2009-08-08.Net插件框架Managed Extensibility Framework簡介
這篇文章介紹了.Net插件框架Managed Extensibility Framework,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07ASP.NET Core應(yīng)用錯(cuò)誤處理之DeveloperExceptionPageMiddleware中間件呈現(xiàn)“開發(fā)者
這篇文章主要給大家介紹了關(guān)于ASP.NET Core應(yīng)用錯(cuò)誤處理之DeveloperExceptionPageMiddleware中間件呈現(xiàn)“開發(fā)者異常頁面”的相關(guān)資料,需要的朋友可以參考下2019-01-01asp.net System.Net.Mail 發(fā)送郵件
一個(gè)師弟發(fā)了段代碼給我,說調(diào)試了很久發(fā)送郵件都沒有成功。自己使用過程中,也發(fā)現(xiàn)了很多問題,但最簡單的問題是“發(fā)件方”地址根本不支持smtp發(fā)送郵件。2009-04-04UpdatePanel和jQuery不兼容 局部刷新jquery失效
在做項(xiàng)目中發(fā)現(xiàn),在使用了UpdatePanel的地方,局部刷新后,jquery失效了,后來經(jīng)過搜索找到不錯(cuò)的解決方法,在此與大家分享下,有類似問題的朋友可以參考下2013-09-09