zoukankan      html  css  js  c++  java
  • 第一节:登录流程

    一丶登录流程

    1.线性槽

     public class DbContextFactory
        {
            public static DbContext GetDbContext()
            {
                DbContext dbContext = CallContext.GetData(typeof(DbContextFactory).Name) as DbContext;
                if (dbContext == null)
                {
                    dbContext = new DBTestEntities();
                    //写入线程槽
                    CallContext.SetData(typeof(DbContextFactory).Name, dbContext);
                    //DbContext dbContext2 = CallContext.GetData(typeof(DbContextFactory).Name) as DbContext;
                }
                return dbContext;
            }
        }
    View Code

    2.登录页面

    js:

       <script type="text/javascript">
            $(function () {
                //账号文本框进行变色(按下的过程,被按下,键被松开)
                $("#j_number").keydown(function () {
                    $(this).css("background-color", "yellow");
                });
                $("#j_number").keypress(function () {
                    $(this).css("background-color", "blue");
                });
    
                $("#j_number").keyup(function () {
                    $(this).css("background-color", "pink");
                });
                //回车实现登录
                $("body").keydown(function (event) {
                    if (event.keyCode == "13") {//keyCode=13是回车键
                        $("#j_btn").click();
                    }
                });
                //点击登录
                $("#j_btn").click(function () {
                    var number = $("#j_number").val();
                    var password = $("#j_password").val();
                    if (number == "") {
                        alert("请输入账号");
                        $("#j_number").focus();
                        return;
                    }
                    if (password == "") {
                        alert("请输入密码");
                        $("#j_password").focus();
                        return;
                    }
                    $.post("/Login/CheckLogin", {"number":number,"password":password}, function (data) {
                        if (data == "ok") {
                            window.location.href="/Main/Index";
                        } else {
                            alert("账号或密码错误,请重新输入");
                        }
                    });
                });
            });
        </script>
    

    页面:

         <table>
                <tr><td>账号:</td><td><input type="text" id="j_number"/></td></tr>
                <tr><td>密码:</td><td><input type="password" id="j_password" /></td></tr>
                <tr><td><input type="button" value="登录"id="j_btn" /></td></tr>
            </table>
    

    业务:

     public ActionResult CheckLogin(string number, string password)
            {
                //查询数据库是否存在此账号密码
                var userInfo = db.Set<UserInfo>().Where(a => a.Number == number && a.Password == password).FirstOrDefault();
                if (userInfo != null)
                {
                    Session["userInfo"] = userInfo;
                    return Content("ok");
                }
                else
                {
                    return Content("error");
                }
            }
    View Code

    Filter:

    /// <summary>
        /// 校验登录过滤器
        /// </summary>
        public class CheckIsLogin : AuthorizeAttribute
        {
            public override void OnAuthorization(AuthorizationContext filterContext)
            {
                if (HttpContext.Current.Session["userInfo"] == null)
                {
                    filterContext.Result = new RedirectResult("/Login/Login");             
                }
            }
        }
    View Code
    作者:chenze
    出处:https://www.cnblogs.com/chenze-Index/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    如果文中有什么错误,欢迎指出。以免更多的人被误导。
  • 相关阅读:
    Java-JUC(四):同步容器介绍
    Java-JUC(三):原子性变量与CAS算法
    Java:双向链表反转实现
    Java-JUC(二):Java内存模型可见性、原子性、有序性及volatile具有特性
    Java-JUC(一):volatile引入
    TSQL:判断某较短字符串在较长字符串中出现的次数。
    二叉树的定义与前序、中序、后序遍历
    c#:判断一个数组元素中否有重复元素
    c#:对两个字符串大小比较(不使用c#/java内部的比较函数),按升序排序
    mysql之 OPTIMIZE TABLE整理碎片
  • 原文地址:https://www.cnblogs.com/chenze-Index/p/9272471.html
Copyright © 2011-2022 走看看