asp.net 一个简单的登录控制

如果说一个网站需要用户登录后才能浏览,那么用户登录控制就不可避免。但是对于几百个以上的页面,不可能每个页面都做一次登录验证。因此,这需要在母版页中进行登录控制,这样就可以使得每一个使用这个母版页的子页面在加载的时候都会自动的进行一次登录验证。首先是创建一个网站项目,添加母版页和子页面,子页面引用母版页,同时还要创建一个登录页面。然后中母版页的Page_Load方法中调用验证登录的函数IsLogin

protected void IsLogin() {

            try

            {



                if (Session["userinfo"] == null)

                {

                    Response.Redirect("/User/WebUserLogin.aspx");

                }

            }

            catch (Exception ex)

            {

                Response.Redirect("/User/WebUserLogin.aspx");

            }

        }

在这个验证函数中,主要是查看会话中是否保存了用户信息来判断用户是否中登录状态下访问子页面了。如果有用户信息,那么就通过验证,如果没有,就转到登录页面,在登录页面中,对登录按钮做如下操作

try { 

                string username = Request["TxtUserName"].Trim();

                string pwd = Helper.MD5Encrypt(Request["TxtUserPwd"].Trim());

                User userinfo = usermanage.UserLogin(username, pwd);

                if (userinfo != null)

                {                    

                    Session["userinfo"] = userinfo;

                    Response.Redirect("~/Index.aspx");

                }

                else {

                    this.ClientScript.RegisterStartupScript(this.GetType(), "login", "<script type='text/javascript'>artDialog({ content: '请输入正确的用户名和密码!', lock: true, title: '提示' });</script>");

                }

            }catch{

                

            }    

其中的UserLogin方法用于查询数据库是否有对应的用户名和密码

登录页面的UI

<script>
function onKey() {
if (window.event.keyCode == 13) {
document.getElementById("LinkButtonUserLogin").click();
}
}
function checkform() {
var username = $('#<%=TxtUserName.ClientID%>').val();
var psd = $('#<%=TxtUserPwd.ClientID%>').val();
if (username == "") {
artDialog({ content: '用户名不能为空!', lock: true, title: '提示' });
return false;
}
if (psd == "") {
artDialog({ content: '密码不能为空!', lock: true, title: '提示' });
return false;
}

}
</script>


......
<div class="login-main"> <div style="color: red"> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="请输入用户名" ControlToValidate="TxtUserName" Display="Dynamic" ValidationGroup="ValidUserLogin"></asp:RequiredFieldValidator> </div> <asp:TextBox ID="TxtUserName" name="TxtUserName" runat="server" TabIndex="1"></asp:TextBox> <asp:TextBox runat="server" ID="TxtUserPwd" name="TxtUserPwd" TextMode="Password" class="login_mm" TabIndex="2"></asp:TextBox> <asp:LinkButton ID="LinkButtonUserLogin" name="LinkButtonUserLogin" runat="server" OnClientClick="return checkform();" OnClick="LinkButtonUserLogin_Click" ValidationGroup="ValidUserLogin"></asp:LinkButton> <%--<a href="#" runat="server" onclick=""></a>--%> </div>

 

你可能感兴趣的:(asp.net)