mvc3如何验证用户名密码,不正确如何提示,正确了又如何跳转,

时间:2021-08-07 15:50:29
各位大哥,我第一 次做网页的项目,让我设计一个登陆界面,用的mvc3,现在我用js判断了用户名密码是否为空,用post把数据传到了后台控制器,接下来怎么和数据库的用户名密码比对呢?假如用户名密码不正确在控制器里返回什么呢?正确的话怎么跳转呢?谢谢

7 个解决方案

#1


楼主应该有用户登录的方法吧!

//登录按钮中的代码
            Users u = new Users();            
            string uname =TextUname.Text.Trim();//当然你的用户名密码是传过来的,我这里是直接输入的
            string pwd = TextUpwd.Text.Trim();//把用户名和密码改为你传过来的值
            if (u.Login_Sel(uname, pwd) != null)
                    {
                        string logintime = DateTime.Now.ToString("yyyy-MM-dd");
                        u.Add_LoginTime(logintime);
                        string[] result = new string[3];
                        result = u.Login_Sel(uname, pwd);
                        Session["truename"] = result[1].ToString();
                        Session["uname"] = result[0].ToString();
                        Session["qx"] = result[2].ToString();
                        Session["dptid"] = result[4].ToString();
                        Response.Redirect("Index.aspx");
                    }
                    else
                    {
                        Common.ShowMessage.Show(Page, "seuss", "用户名或密码不正确", "Login.aspx");
                     }

#2



   protected void IBLogin_Click(object sender, ImageClickEventArgs e)
        {
  Users u = new Users();            
            string uname =TextUname.Text.Trim();//当然你的用户名密码是传过来的,我这里是直接输入的
            string pwd = TextUpwd.Text.Trim();//把用户名和密码改为你传过来的值
            if (u.Login_Sel(uname, pwd) != null)
                    {
                        string logintime = DateTime.Now.ToString("yyyy-MM-dd");
                        u.Add_LoginTime(logintime);
                        string[] result = new string[3];
                        result = u.Login_Sel(uname, pwd);
                        Session["truename"] = result[1].ToString();
                        Session["uname"] = result[0].ToString();
                        Session["qx"] = result[2].ToString();
                        Session["dptid"] = result[4].ToString();
                        Response.Redirect("Index.aspx");
                    }
                    else
                    {
                            Users u = new Users();            
            string uname =TextUname.Text.Trim();//当然你的用户名密码是传过来的,我这里是直接输入的
            string pwd = TextUpwd.Text.Trim();//把用户名和密码改为你传过来的值
            if (u.Login_Sel(uname, pwd) != null)
                    {
                        //直接跳转,当然楼主也可以像1楼一样建立你想要的session之类的登录凭证
                    }
                    else
                    {
                        Common.ShowMessage.Show(Page, "seuss", "用户名或密码不正确", "Login.aspx");//提示用户名或密码不正确
                     }

                 
                    }
        }

#3


密码不正确,直接给提示,跳回登录页!
密码通过,直接跳首页啊!

#4


我想问一下,如何实现加载的时候不判断,点按钮之后才验证用户名密码?谢谢

#5


密码不正确,直接跳回重新登陆页面啊:return View("页面名称");
你登陆按钮的事件里面首先写 数据验证,然后去执行post提交。 

#6


引用 4 楼  的回复:
我想问一下,如何实现加载的时候不判断,点按钮之后才验证用户名密码?谢谢


判断在点击事件里 ,又不在加载事件里! 加载怎么会判断呢!  加载时应该判断的是用户是否登录了吧!

#7


谢谢大家,这个问题解决了,重载了一个方法

#1


楼主应该有用户登录的方法吧!

//登录按钮中的代码
            Users u = new Users();            
            string uname =TextUname.Text.Trim();//当然你的用户名密码是传过来的,我这里是直接输入的
            string pwd = TextUpwd.Text.Trim();//把用户名和密码改为你传过来的值
            if (u.Login_Sel(uname, pwd) != null)
                    {
                        string logintime = DateTime.Now.ToString("yyyy-MM-dd");
                        u.Add_LoginTime(logintime);
                        string[] result = new string[3];
                        result = u.Login_Sel(uname, pwd);
                        Session["truename"] = result[1].ToString();
                        Session["uname"] = result[0].ToString();
                        Session["qx"] = result[2].ToString();
                        Session["dptid"] = result[4].ToString();
                        Response.Redirect("Index.aspx");
                    }
                    else
                    {
                        Common.ShowMessage.Show(Page, "seuss", "用户名或密码不正确", "Login.aspx");
                     }

#2



   protected void IBLogin_Click(object sender, ImageClickEventArgs e)
        {
  Users u = new Users();            
            string uname =TextUname.Text.Trim();//当然你的用户名密码是传过来的,我这里是直接输入的
            string pwd = TextUpwd.Text.Trim();//把用户名和密码改为你传过来的值
            if (u.Login_Sel(uname, pwd) != null)
                    {
                        string logintime = DateTime.Now.ToString("yyyy-MM-dd");
                        u.Add_LoginTime(logintime);
                        string[] result = new string[3];
                        result = u.Login_Sel(uname, pwd);
                        Session["truename"] = result[1].ToString();
                        Session["uname"] = result[0].ToString();
                        Session["qx"] = result[2].ToString();
                        Session["dptid"] = result[4].ToString();
                        Response.Redirect("Index.aspx");
                    }
                    else
                    {
                            Users u = new Users();            
            string uname =TextUname.Text.Trim();//当然你的用户名密码是传过来的,我这里是直接输入的
            string pwd = TextUpwd.Text.Trim();//把用户名和密码改为你传过来的值
            if (u.Login_Sel(uname, pwd) != null)
                    {
                        //直接跳转,当然楼主也可以像1楼一样建立你想要的session之类的登录凭证
                    }
                    else
                    {
                        Common.ShowMessage.Show(Page, "seuss", "用户名或密码不正确", "Login.aspx");//提示用户名或密码不正确
                     }

                 
                    }
        }

#3


密码不正确,直接给提示,跳回登录页!
密码通过,直接跳首页啊!

#4


我想问一下,如何实现加载的时候不判断,点按钮之后才验证用户名密码?谢谢

#5


密码不正确,直接跳回重新登陆页面啊:return View("页面名称");
你登陆按钮的事件里面首先写 数据验证,然后去执行post提交。 

#6


引用 4 楼  的回复:
我想问一下,如何实现加载的时候不判断,点按钮之后才验证用户名密码?谢谢


判断在点击事件里 ,又不在加载事件里! 加载怎么会判断呢!  加载时应该判断的是用户是否登录了吧!

#7


谢谢大家,这个问题解决了,重载了一个方法