W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
實現(xiàn)網(wǎng)站的安全性關(guān)系到如下幾方面:
一般來講,基于表單的認證包括編輯網(wǎng)絡(luò)配置文件以及具有驗證碼的注冊頁面。
網(wǎng)絡(luò)配置文件可由如下代碼編寫:
<configuration>
<system.web>
<authentication mode="Forms">
<forms loginUrl ="login.aspx"/>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
...
...
</configuration>
上面的代碼段中提及的 login.aspx 頁面可能會包含如下代碼,包含驗證用的用戶名和密碼在文件之后很難編碼進去。
protected bool authenticate(String uname, String pass)
{
if(uname == "Tom")
{
if(pass == "tom123")
return true;
}
if(uname == "Dick")
{
if(pass == "dick123")
return true;
}
if(uname == "Harry")
{
if(pass == "har123")
return true;
}
return false;
}
public void OnLogin(Object src, EventArgs e)
{
if (authenticate(txtuser.Text, txtpwd.Text))
{
FormsAuthentication.RedirectFromLoginPage(txtuser.Text, chkrem.Checked);
}
else
{
Response.Write("Invalid user name or password");
}
}
注意到 FormsAuthentication 類是用于認證過程的。
然而,不用寫任何代碼 Visual Studio 就能夠通過網(wǎng)站管理工具輕松地?zé)o縫實現(xiàn)用戶創(chuàng)建、身份認證和授權(quán)。這種工具能夠?qū)崿F(xiàn)用戶和角色的創(chuàng)建。
除此之外,ASP.NET 有現(xiàn)成的登錄控制系列,可以為你控制執(zhí)行所有的工作。
為了建立基于表單的認證,你需要做到如下幾點:
為了創(chuàng)建一個用戶,需要采取以下步驟:
第一步:選擇網(wǎng)站 -> 配置 ASP.NET 以打開網(wǎng)絡(luò)應(yīng)用管理工具。
第二步:點擊安全選項。
第三步:選擇 'Forms based authentication' 選項,以將認證類型設(shè)定為 'From the Internet'。
第四步:點擊 'Create Users'。如果你已經(jīng)創(chuàng)建了角色,你正好可以在這一步把角色分配給該用戶。
第五步:創(chuàng)建一個網(wǎng)站,并添加如下頁面:
第六步:在歡迎頁面的登錄部分設(shè)置一個登錄狀態(tài)控件。包含兩個標(biāo)準(zhǔn)框:LoggedIn 和 LoggedOut。
LoggedIn 有查看已經(jīng)登錄用戶的選項,LoggedOut 內(nèi)有查看已經(jīng)退出用戶的選項。你可以在屬性窗口里改變登錄和退出的文本屬性。
第七步:在 LoginStatus 控件的下面設(shè)置一個 LoginView 控件。你可以在此設(shè)置一些能反應(yīng)用戶是否已經(jīng)登錄的其他文本或其他控件(如超鏈接、按鈕等)。
這個控件有兩個標(biāo)準(zhǔn)框: Anonymous 框和 LoggedIn 框。選擇每種視圖,并為用戶編寫一些文本,以作為選擇標(biāo)準(zhǔn)框時要顯示的內(nèi)容。文本應(yīng)該被放在如下圖中標(biāo)紅的區(qū)域。
第八步:由開發(fā)者創(chuàng)建應(yīng)用用戶。你也許想要允許游客也能夠創(chuàng)建一個用戶賬戶。要實現(xiàn)這個,你可以在 LoginView 控件下添加一個可以轉(zhuǎn)到注冊頁面的鏈接。
第九步:在注冊頁面設(shè)置一個 CreateUserWizard 控件。設(shè)置這個控件的 ContinueDestinationPageUrl 屬性,以保證能夠轉(zhuǎn)到歡迎頁面。
第十步:創(chuàng)建登錄頁面。在這個頁面上設(shè)置一個 Login 控件。 LoginStatus 控件會自動地連接到登錄頁面。在網(wǎng)絡(luò)配置文件里做如下改動可以改變這種默認設(shè)置。
例如,如果你把你的登錄頁面命名為 signup.aspx ,可以在網(wǎng)絡(luò)配置文件的 部分添加如下幾行代碼。
<configuration>
<system.web>
<authentication mode="Forms">
<forms loginUrl ="signup.aspx" defaultUrl = a€?Welcome.aspxa€? />
</authentication>
</system.web>
</configuration>
第十一步:用戶經(jīng)常會忘記密碼。PasswordRecovery 控件幫助用戶重新獲得登錄這個賬戶。選擇登錄控件。打開它的小標(biāo)簽,并選擇 'Convert to Template'。
通過自定義這個控件的用戶界面,在登錄按鈕下方放置一個超鏈接控件,這個控件應(yīng)該是能夠鏈接到找回密碼頁面的。
第十二步:在找回密碼頁面設(shè)置一個 PasswordRecovery 控件。這個控件需要郵件服務(wù)器把密碼發(fā)送給用戶。
第十三步:在歡迎頁面的 LoginView 控件的 LoggedIn 框內(nèi)設(shè)置一個轉(zhuǎn)到修改密碼頁面的鏈接。
第十四步:在修改密碼頁面設(shè)置一個 ChangePassword 控件,這個控件有兩種視圖:
現(xiàn)在運行這個應(yīng)用,觀察不同的安全操作。
可以回到網(wǎng)絡(luò)應(yīng)用管理工具,點擊安全選項,來創(chuàng)建角色。點擊 'Create Roles' 為這個應(yīng)用來創(chuàng)建一些角色。
點擊 'Manage Users',可以給用戶分配角色。
安全套接層(SSL)是用來確保安全連接的協(xié)議。通過使用 SSL,瀏覽器會把送到服務(wù)器的所有數(shù)據(jù)加密,并解密來自服務(wù)器的所有數(shù)據(jù)。與此同時,服務(wù)器也會對倆字瀏覽器的所有數(shù)據(jù)進行加解密。
安全連接的 URL 使用的是 HTTPS 協(xié)議而不是 HTTP 協(xié)議。一個很小的加鎖也會被使用了安全連接的瀏覽器顯示出來。當(dāng)瀏覽器使用 SSL 主動地與服務(wù)器進行交流時,服務(wù)器會發(fā)送一個安全證書以對服務(wù)器本身進行認證。
要想使用 SSL ,你需要從一個可以信任的認證機構(gòu)(CA)購買一個數(shù)字安全證書,并在網(wǎng)絡(luò)服務(wù)器上安裝這個證書。以下是一些可以信任的,有較好名譽認證機構(gòu):
SSL 是建立在所有主要的瀏覽器和服務(wù)器上的。要啟用 SSL,你需要安裝數(shù)字證書。不同數(shù)字證書的強度不同,是根據(jù)加密過程中產(chǎn)生的密鑰長度而有所區(qū)別。密鑰越長,證書就越安全,連接也就越安全。
強度 | 描述 |
---|---|
40 比特 | 支持大多數(shù)瀏覽器但是很容易破解。 |
56 比特 | 比 40 比特的更健壯。 |
128 比特 | 很難破解,但并不是所有的瀏覽器都支持。 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: