过滤器+用session验证是否登陆过

Posted jsll

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了过滤器+用session验证是否登陆过相关的知识,希望对你有一定的参考价值。

过滤器:

public class MyActionFilter : ActionFilterAttribute//继承ActionFilterAttribute类
    {
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            //用session验证是否登陆过
            if(filterContext.HttpContext.Session["visitor_name"] == null)
            {
                //未登录则跳转到登录页面,并拖过url?传递状态码?Login_state=false用于前端验证并友好提示
                filterContext.HttpContext.Response.Redirect("/Login_/Index?Login_state=false",true);
            }
        }





    }

Login_Controller.cs:

        public ActionResult Login(string name, string pwd)//传进来的字符串实际没用上
        {
            var get_name = Request["name"];
            var get_pwd = Request["pwd"];
            JJQPractice visitor = JJQPractice.SingleOrDefault(new { name = get_name });//得到对应输入的账号的集
            if (visitor != null)//验证输入的账号是否存在
            {
                if (visitor.pwd == get_pwd)//验证密码是否正确
                {
                    Session["visitor_name"] = get_name;//在session中写入name用于判断登录状态
                    return RedirectToAction("Index", "Select_");//密码正确后跳转到查询视图
                }
                else
                {
                    Response.Write("登录失败!密码错误.");
                    return View("Index");
                }
            }
            else
            {
                Response.Write("登录失败,用户名不存在.");
                return View("Index");
            }
        }

以上是关于过滤器+用session验证是否登陆过的主要内容,如果未能解决你的问题,请参考以下文章

java web 验证用户是不是已登录都有哪些方式。

JSP中怎样用session保存并验证用户登录信息

.net中怎样 判断用户是不是登陆

用javascript判断用户是不是登陆未登陆返回登录页

我在一个后台登陆时,把用户名存入session中了,如果修改密码session丢失,怎么办

javaweb之session过期验证