OA.WEB/Controllers/LoginController.cs

(开头部分) 5KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using OA.Common;
using OA.IBLL;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace OA.WEB.Controllers
{
    public class LoginController : Controller
    {
        // GET: Login
        //BLL.UserInfoService userInfoService { get; set; }
        public ActionResult Index()
        {
            CheckCookieInfo();//校验Cookie信息
            return View();
        }

        public void CheckCookieInfo()
        {
            if (Request.Cookies["cp1"] != null && Request.Cookies["cp2"] != null)
            {
                string c1 = Request.Cookies["cp1"].Value;
                string c2 = Request.Cookies["cp2"].Value;
                var userInfo = userInfoService.LoadEntities(u => u.UserName == c1).FirstOrDefault();
                if (userInfo!=null)
                {
                    //添加用户时,要将用户密码加密以后写到用户表中,如果添加是已经进两次MD5运算,那么这里直接比较
                    string mdpwd = MD5Cal.Md5String(MD5Cal.Md5String(userInfo.UserPwd));
                    if (mdpwd==c2)
                    {
                        string sessionId = Guid.NewGuid().ToString();//自己创建ID,Memcache
                        MemcachedHelper.Set(sessionId, SerializerHelper.SerializerToString(userInfo));//将用户信息存储到Memcache
                        Response.Cookies["sessionId"].Value = sessionId;//以Cookies形式返回到浏览器,存储到浏览器的内存中
                        Response.Redirect("/Home/Index");
                    }
                }
                //删除Cookie
                Response.Cookies["cp1"].Expires = DateTime.Now.AddDays(-1);
                Response.Cookies["cp2"].Expires = DateTime.Now.AddDays(-1);
            }
        }

        /// <summary>
        /// 验证码
        /// </summary>
        /// <returns></returns>
        public ActionResult ValidateCode()
        {
            ValidateCode validateCode = new ValidateCode();
            string code=validateCode.CreateValidateCode(4);
            Session["validateCode"] = code;
            byte[] buffer=validateCode.CreateValidateGraphic(code);
            return File(buffer,"image/jpeg");

        }
        IUserInfoService userInfoService { get; set; }

后面还有 93 行代码,购买后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。