一個簡單的ASP.NET Forms 身份認證的實例方法
更新時間:2013年07月23日 10:19:04 作者:
當訪問默認首頁default.aspx時,會自動跳轉(zhuǎn)到login.aspx頁面上請求登錄,隨便輸入用戶名和密碼,點擊“登錄”按鈕,會回到首頁,并顯示當前登錄的用戶名。
Web.config
<configuration>
<system.web>
<compilation debug="true"/>
<authentication mode="Forms">
<forms loginUrl="login.aspx" name = ".ASPXFORMSAUTH" />
</authentication>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</configuration>
default.aspx
<HTML>
<HEAD>
<TITLE>首頁</TITLE>
<script language="VB" runat="server">
Sub Page_Load(Sender As Object, e As EventArgs)
Message.Text = String.Format("你好,{0}", Context.User.Identity.Name)
End Sub
sub btnSignout_Click(Sender as Object, E as EventArgs)
FormsAuthentication.SignOut()
Response.Redirect("login.aspx")
end sub
</script>
</HEAD>
<BODY>
<asp:label id="Message" runat="server"/>
<br>
<form method="post" runat="server">
<asp:button id="btnSignout" Text="退出登錄" runat="server" OnClick="btnSignout_Click"/>
</form>
</BODY>
</HTML>
login.aspx
<HEAD>
<TITLE>首頁</TITLE>
<script lanugage="c#" runat="server">
private void Page_Load(object sender, EventArgs e)
{
if (Request.IsAuthenticated)
Response.Redirect("default.aspx");
}
void btnLogin_Click(Object sender, EventArgs e)
{
if (txtUsername.Text != null && txtUsername.Text != String.Empty && txtPassword.Text != null && txtPassword.Text != String.Empty)
FormsAuthentication.RedirectFromLoginPage(txtUsername.Text, true);
else
lblError.Text = "錯誤的用戶名/密碼";
}
</script>
</HEAD>
<BODY>
<form method="post" runat="server">
<asp:Label id="lblUsername" runat="server" Text="用戶名:"/>
<asp:Textbox id="txtUsername" runat="server"/>
<br>
<br>
<asp:Label id="lblPassword" runat="server" Text="密 碼:"/>
<asp:Textbox id="txtPassword" runat="server" TextMode="password"/>
<br>
<asp:button id="btnLogin" runat="server" Text="登錄" OnClick="btnLogin_Click" />
</form>
<hr>
<br>
<asp:Label id="lblError" forecolor="red" runat="server"/>
</BODY>
</HTML>
復(fù)制代碼 代碼如下:
<configuration>
<system.web>
<compilation debug="true"/>
<authentication mode="Forms">
<forms loginUrl="login.aspx" name = ".ASPXFORMSAUTH" />
</authentication>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</configuration>
default.aspx
復(fù)制代碼 代碼如下:
<HTML>
<HEAD>
<TITLE>首頁</TITLE>
<script language="VB" runat="server">
Sub Page_Load(Sender As Object, e As EventArgs)
Message.Text = String.Format("你好,{0}", Context.User.Identity.Name)
End Sub
sub btnSignout_Click(Sender as Object, E as EventArgs)
FormsAuthentication.SignOut()
Response.Redirect("login.aspx")
end sub
</script>
</HEAD>
<BODY>
<asp:label id="Message" runat="server"/>
<br>
<form method="post" runat="server">
<asp:button id="btnSignout" Text="退出登錄" runat="server" OnClick="btnSignout_Click"/>
</form>
</BODY>
</HTML>
login.aspx
復(fù)制代碼 代碼如下:
<HEAD>
<TITLE>首頁</TITLE>
<script lanugage="c#" runat="server">
private void Page_Load(object sender, EventArgs e)
{
if (Request.IsAuthenticated)
Response.Redirect("default.aspx");
}
void btnLogin_Click(Object sender, EventArgs e)
{
if (txtUsername.Text != null && txtUsername.Text != String.Empty && txtPassword.Text != null && txtPassword.Text != String.Empty)
FormsAuthentication.RedirectFromLoginPage(txtUsername.Text, true);
else
lblError.Text = "錯誤的用戶名/密碼";
}
</script>
</HEAD>
<BODY>
<form method="post" runat="server">
<asp:Label id="lblUsername" runat="server" Text="用戶名:"/>
<asp:Textbox id="txtUsername" runat="server"/>
<br>
<br>
<asp:Label id="lblPassword" runat="server" Text="密 碼:"/>
<asp:Textbox id="txtPassword" runat="server" TextMode="password"/>
<br>
<asp:button id="btnLogin" runat="server" Text="登錄" OnClick="btnLogin_Click" />
</form>
<hr>
<br>
<asp:Label id="lblError" forecolor="red" runat="server"/>
</BODY>
</HTML>
您可能感興趣的文章:
相關(guān)文章
解決Win10無法安裝.Net Framework 3.5提示錯誤代碼0x800F081F
這篇文章主要介紹了Win10無法安裝.Net Framework 3.5提示錯誤代碼0x800F081F的完美解決方法,需要的朋友可以參考下2017-12-12
基于.NET的FluentValidation數(shù)據(jù)驗證實現(xiàn)
這篇文章主要介紹了基于.NET的FluentValidation數(shù)據(jù)驗證實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
asp.net 在客戶端顯示服務(wù)器端任務(wù)處理進度條的探討
由于 HTTP 協(xié)議本身的無狀態(tài)性,B/S結(jié)構(gòu)的程序無法像C/S程序那樣,實時顯示程序處理的進度。搜索一下網(wǎng)上,一般都是采用靜態(tài)變量保存程序執(zhí)行進度的方法實現(xiàn),但是,這種方法是完全錯誤的,在并發(fā)的情況下,多個用戶訪問一個程序,會造成混亂。2009-09-09
.Net6.0+Vue3實現(xiàn)數(shù)據(jù)簡易導(dǎo)入功能全過程
最近在用VUE做一個數(shù)據(jù)導(dǎo)入的功能,下面這篇文章主要給大家介紹了關(guān)于使用.Net6.0+Vue3實現(xiàn)數(shù)據(jù)簡易導(dǎo)入功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2022-09-09
Asp.NET Core 如何調(diào)用WebService的方法
這篇文章主要介紹了Asp.NET Core 如何調(diào)用WebService的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08

