007. 实现登录验证的方式

动态网站通常由多个页面组成, 用户在浏览页面的时候, 为了 保证网站内信息资源的安全, 应禁止访问者不通过登录页面而强行进入其他页面进行访问; 下面者介绍这种方式并不是实际生产中用的最多的做法, 通常的做法是将用户的登录名和密码保存在一个session中. 但是使用FormsAuthentication进行验证的原理和session基本类似, 只是能更简单的实现身份验证.

1.前端aspx页面代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Login.aspx.cs" Inherits="Login" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head > 
    <title>登录验证</title>
</head>
<body  style="margin:auto">
    <form id="form1" runat="server">
    <div>
<table  style="border: 1px solid red ; 600px">
        <tr>
            <td valign="top">用户名:     
                <asp:TextBox ID="txtUserName" runat="server" Width="185px"></asp:TextBox>
                <br />
                <asp:Label ID="Label1" runat="server" Text="请输入用户名"></asp:Label>
                <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
                ErrorMessage="请输入用户名" ControlToValidate="txtUserName"></asp:RequiredFieldValidator>
                </td>
            </tr> 
            <tr>
                <td valign="top">&nbsp;&nbsp;码:
                <asp:TextBox ID="txtPassword" runat="server" Width="185px" TextMode="Password"></asp:TextBox>
                <br />
                    <asp:Label ID="Label2" runat="server" Text="请输入用户密码"></asp:Label>
                <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" 
                    ErrorMessage="请输入用户密码" ControlToValidate="txtPassword"></asp:RequiredFieldValidator>
                </td>
            </tr>
            <tr>
                <td>
                <asp:Button Text="登录" ID="ibtnLogin" runat="server"  Width="127px" Height="38px"  onclick="ibtnLogin_Click" />
                <br />
                <asp:Label ID="lblMessage" runat="server" ForeColor="#FF3300"></asp:Label>                          
                </td>
            </tr>
            <tr>
                <td ><a href="Register.aspx">去注册</a></td>
            </tr>
            </table>
    </div>
    </form>
</body>
</html>

2.后端.cs中部分代码

protected void ibtnLogin_Click(object sender, EventArgs e)
    {
        if (FormsAuthentication.Authenticate(txtUserName.Text, txtPassword.Text))
        {
            FormsAuthentication.RedirectFromLoginPage(txtUserName.Text, true);
        }
        else
        {
            Response.Write("<script>alert('登录失败!');</script>");
        }
    }

3.最后是web.confg中的部分代码


 <!--

            通过 <authentication> 节可以配置 ASP.NET 用来

            识别进入用户的  安全身份验证模式。

            这种鉴别模式属于Forms鉴别

        -->

    <authenticationmode="Forms">

      <formsname="myCookie"loginUrl="login.aspx">

        <credentialspasswordFormat="Clear">

          <username="123"password="123"/>

        </credentials>

      </forms>

    </authentication>

    <authorization>

      <denyusers="?"/>

    </authorization>

原文地址:https://www.cnblogs.com/wxylog/p/6038795.html