傻瓜教程:asp.net(c#) 如何配置authentication,完成基于表单的身份验证
傻瓜老師又來了,本講座報以學以致用,師傅帶進門 修行靠個人的精神,不深入探討,還請多指教~
這堂課將的是基于表單的身份驗證,其實某些時候,用于驗證身份的賬戶和密碼并不需要存在數據庫或配置文件里,這時 web.config中的authentication節點就起大作用了。
?
本堂課要完成的目的:
驗證用戶身份成功,并登陸后臺admin文件夾里的admin.aspx后臺管理頁面,否則禁止匿名用戶訪問項目中的admin文件夾里的任何一個文件
?
步驟一:
?在根目錄下的web.config中加入:
<system.web>?
<authentication mode="Forms">
?? ??? ??? ?<forms loginUrl="Login.aspx" defaultUrl="admin/admin.aspx" name=".ASPXFORMSAUTH">
?? ??? ??? ?</forms>
</authentication>?
</system.web>?
?loginUrl:用戶沒有登錄,跳轉到的登錄頁面
?defaultUrl:正確登錄之后,在沒有指向頁的時候,弄人跳轉的頁面
?
步驟二:
在admin文件夾下新建一個web.config文件,并加入以下代碼
<system.web>
?? ??? ?<!--拒絕匿名用戶訪問此目錄下的任何文件-->
?? ??? ?<authorization>
?? ??? ??? ?<deny users="?"/>
?? ??? ?</authorization>?? ????
</system.web>?
?deny users="?":表示禁止匿名用戶訪問admin目錄下的任何文件
?到目前為止,只要你訪問admin下的任何文件,都會自動跳轉到Login.aspx登陸頁面了,要求你先登錄,否則別想看到頁面。
?
步驟三:
在根目錄下,創建Login.aspx登陸頁面(可不是在admin目錄下哦),加兩個textbox控件和一個botton控件,分別是用戶名,密碼,和登陸按鈕
雙擊登陸按鈕,在其登陸方法里寫上:
protected void btn_Login_Click(object sender, EventArgs e)
{
??????? if (TextBox1.Text == "admin" && TextBox2.Text == "fenghua17173")
??????? {
??????????? //“通知”表單驗證,該用戶名已經通過身份驗證
??????????? FormsAuthentication.RedirectFromLoginPage(TextBox1.Text, true);
??????? }
??????? else
??????? {
??????????? Response.Write("<script>alert('賬號或密碼有誤,登錄失敗!');</script>");
??????? }
}?
ok,這時你在login.aspx頁面里填上賬號密碼,系統就會根據根你在根目錄下web.config中配置的defaultUrl地址路徑跳轉過去,也就是admin/admin.aspx頁面。
現在admin目錄下的所有頁面,均已通過身份驗證,得到了可訪問的票據。
最后一點:
有登陸,當然別忘了注銷,這個更簡單:
在admin目錄下的任何一個頁面中,加一個注銷button按鈕,并在其方法下寫入:
?
//退出系統,注銷用戶protected void btn_Logout_Click(object sender, EventArgs e)
{
??????? //刪除用戶票據
??????? FormsAuthentication.SignOut();
??????? //重新定向到登陸頁面
??????? FormsAuthentication.RedirectToLoginPage();
}
?
好了,你已經知道如何配置authentication,完成基于表單的身份驗證了。?
ok,今天的教程就到這里,傻瓜老師吃黃瓜去了,下堂課見。
總結
以上是生活随笔為你收集整理的傻瓜教程:asp.net(c#) 如何配置authentication,完成基于表单的身份验证的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ 传指针还是引用?
- 下一篇: professional asp.net