一个简单的ASP.NET Forms 身份认证

当访问默认首页default.aspx时,会自动跳转到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>

posted @ 2009-09-22 11:39  94cool  阅读(196)  评论(0)    收藏  举报