zoukankan      html  css  js  c++  java
  • mvc4 Forms验证存储 两种登录代码

    自己也不知道网上看到的第一种居多,第二种用到的人很少,第二种代码十分简洁,就是不清楚是否有安全隐患。

    要采用Forms身份验证,先要在应用程序根目录中的Web.config中做相应的设置:

    <authentication mode="forms"> 
         <forms name=".ASPXAUTH " loginUrl="/Account/Login"  />
    </authentication>

    1.第一种登录代码

            public ActionResult LoginIn(string username,string password) 
            {
                string userdata = username + "|" + password;
                FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, 
                    username, 
                    DateTime.Now, 
                    DateTime.Now.AddHours(1), 
                    true, 
                    userdata);
    
                string encryptedTicket = FormsAuthentication.Encrypt(ticket);
                HttpCookie authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
                Response.Cookies.Add(authCookie);  
    
                return RedirectToAction("Index");
            }

    判断是否登录,取cookie里的登录信息。

            public ActionResult Index()
            {
                if (User.Identity.IsAuthenticated)
                {
                    string cookieName = FormsAuthentication.FormsCookieName; 
                    HttpCookie authCookie = Request.Cookies[cookieName]; 
                    FormsAuthenticationTicket authTicket = null; 
                    authTicket = FormsAuthentication.Decrypt(authCookie.Value);
                    string userinfo = authTicket.UserData;
                }
                
                return View();
            }

    注销登录,这个两种方法通用。

            public string loginOut() 
            {
                FormsAuthentication.SignOut();
                return "ok";
            }

    接下来是自己用的第二种登录代码

    2.第二种登录代码

            public ActionResult LoginIn(string username, string password)
            {
                string userdata = username + "|" + password;
                FormsAuthentication.SetAuthCookie(userdata,true);
    
                return RedirectToAction("Index");
            }

    判断是否登录,取cookie里的登录信息。

            public ActionResult Index()
            {
                if (User.Identity.IsAuthenticated)
                {
                    string userinfo = User.Identity.Name;
                }
                return View();
            }
  • 相关阅读:
    spring
    redis
    CentOS 6 安装教程(转载)
    Ajax&JSON
    课时2:RequestMapping映射及个属性
    课时1:SpringMVC环境搭建及第一个程序
    课时2:Spring整合MyBatis的几种方式 前面一个课时已经讲了一种思路了
    课时1:Spring整合MyBatis思路
    课时14:Bean的生命周期,通过import引入分散的spring文件
    课时13:作用域
  • 原文地址:https://www.cnblogs.com/ariklee/p/3670905.html
Copyright © 2011-2022 走看看