Ejemplo n.º 1
0
        /// <summary>
        /// 网站启动时即配置七牛Key:用户名+密码(从数据库中取)
        /// </summary>
        public static void SetKey()
        {
            WebSetting setAccess = settingService.GetDataListBy(s => s.ConfigKey == "QiNiuACCESS_KEY")[0];
            WebSetting setSecret = settingService.GetDataListBy(s => s.ConfigKey == "QiNiuSECRET_KEY")[0];

            Qiniu.Conf.Config.ACCESS_KEY = setAccess.ConfigValue;
            Qiniu.Conf.Config.SECRET_KEY = setSecret.ConfigValue;
        }
Ejemplo n.º 2
0
        public ActionResult Login(LoginUser userModel)
        {
            //实体验证成功的话 进一步验证
            if (ModelState.IsValid)
            {
                WebSetting nameSetting = webSetService.GetDataListBy(w => w.ConfigKey == "AdminName").FirstOrDefault();
                WebSetting pwdSetting  = webSetService.GetDataListBy(w => w.ConfigKey == "AdminSecret").FirstOrDefault();

                //校验成功,将用户信息保存到Session中,并将票据写入cookie,跳转至后台首页
                //后台中的每个Controller都要继承一个BaseController,BaseController中要先校验用户有没有登录,
                //之后才能进行Action操作
                //该用户校验通过:写完cookie和sesion后跳转到首页

                string Md5Pwd = userModel.PassWord;
                if (nameSetting.ConfigValue == userModel.UserName && pwdSetting.ConfigValue == Common.Security.StrToMD5(userModel.PassWord))
                {
                    ////写Session //跳转到首页
                    //Session.Add("loginuser", userModel);

                    FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
                        2,
                        userModel.UserName,
                        DateTime.Now,
                        DateTime.Now.AddDays(30),
                        true,
                        string.Empty
                        );
                    HttpCookie cookie       = new HttpCookie("ZynBlogTicket");
                    string     ticketString = FormsAuthentication.Encrypt(ticket);
                    cookie.Value   = ticketString;
                    cookie.Expires = DateTime.Now.AddDays(30);  //cookie的过期时间
                    this.Response.Cookies.Add(cookie);

                    return(Json(new
                    {
                        Status = 1,
                        CoreData = "/Admin/AdminHome/Index"
                    }));
                }
                else
                {
                    return(Json(new
                    {
                        Status = 0,
                        Message = "用户名或密码错误"
                    }));
                }
            }
            else
            {
                return(Json(new
                {
                    Status = 0,
                    Message = "没通过验证,请核对信息"
                }));
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// 2.0 jquery.datatable()插件 Ajax Get设置列表
        /// </summary>
        /// <returns>datatable-JSON</returns>
        public JsonResult GetSettingsJson(jqDataTableParameter tableParam)
        {
            List <WebSetting> DataSource = settingService.GetDataListBy(a => true, a => a.Id);

            string echo      = tableParam.sEcho;
            int    dataStart = tableParam.iDisplayStart;
            int    pageSize  = tableParam.iDisplayLength == -1 ? DataSource.Count : tableParam.iDisplayLength;

            var data = DataSource.Skip <WebSetting>(dataStart)
                       .Take(pageSize)
                       .Select(s => new
            {
                Id          = s.Id,
                ConfigKey   = s.ConfigKey,
                ConfigValue = s.ConfigValue,
                Description = s.Description,
                BuildTime   = s.BuildTime.ToString()
            }).ToList();

            return(Json(new
            {
                sEcho = echo,
                iTotalRecords = DataSource.Count(),
                iTotalDisplayRecords = DataSource.Count(),
                aaData = data
            }, JsonRequestBehavior.AllowGet));
        }
Ejemplo n.º 4
0
        public void SendBlogLvmEmail(LeaveMsg lvm)
        {
            //7.1 获取系统邮件Key Secret
            IBLL.IWebSettingService wService = OperateHelper.Current.serviceSession.WebSettingService;
            WebSetting keySeting             = wService.GetDataListBy(w => w.ConfigKey == "SystemEmailKey").FirstOrDefault();
            WebSetting secretSeting          = wService.GetDataListBy(w => w.ConfigKey == "SystemEmailSecret").FirstOrDefault();

            string systemEmailName   = keySeting.ConfigValue;    //系统邮箱
            string systemEmailSecret = secretSeting.ConfigValue; //系统邮箱密码

            //7.2 先取到这条留言的最根上的留言Id
            int      rootlvmId = 0;
            int      parentId  = 0;
            LeaveMsg parentLvm = leaveService.GetDataListBy(c => c.Id == lvm.ParentId).FirstOrDefault();
            LeaveMsg tempLvm   = parentLvm;

            if (parentLvm != null)
            {
                //7.3 父Id
                parentId = parentLvm.Id;
                while (tempLvm != null)
                {
                    tempLvm = leaveService.GetDataListBy(c => c.Id == tempLvm.ParentId).FirstOrDefault();
                    if (tempLvm != null)
                    {
                        parentLvm = tempLvm;
                    }
                }
                rootlvmId = parentLvm.Id;
            }
            else
            {
                rootlvmId = lvm.Id;
            }

            //7.4 url参数;最终这些参数将发送到前台js进行锚点定位、高亮处理
            string url = "http://127.0.0.1:8081/LeaveMsg/Index/"
                         + "?Flag=" + Common.Security.Base64UTF8Encode("1")
                         + "&AnchorLvmRootId=" + Common.Security.Base64UTF8Encode(rootlvmId.ToString())
                         + "&AnchorLvmParentId=" + Common.Security.Base64UTF8Encode(parentId.ToString())
                         + "&AnchorLvmId=" + Common.Security.Base64UTF8Encode(lvm.Id.ToString());//Ajax加载完数据后定位到锚点

            //7.5 构造邮件主题、内容、发送邮件
            Visitor visitor = visitorService.GetEntity(lvm.VisitorId);

            if (lvm.ParentId == 0)
            {
                //给博主的留言
                string subject = "[您的博客有新留言]Re:留言板";

                url += "&Vid=" + Common.Security.Base64UTF8Encode("1");

                Visitor blogger = visitorService.GetEntity(1); //Id=3的是博主=我

                string emailBody = @"#Re: 留言板"
                                   + "<br/>"
                                   + "新留言:"
                                   + "<br/>"
                                   + "内容:" + lvm.LMessage
                                   + "<hr/>"
                                   + "留言者:<a href='#' >" + visitor.VisitorName + "</a>"
                                   + "<br/>"
                                   + "URL:"
                                   + "<a href='" + url + "' title='链接地址'>" + url + "</a>"
                                   + "<br/>"
                                   + "(系统通知,请勿回复)";

                SendMail.SendEMail("smtp.126.com", systemEmailName, systemEmailSecret, blogger.VisitorEmail, subject, emailBody);
            }
            else
            {
                //游客给其它留言者的回复
                LeaveMsg parentlvm = leaveService.GetEntity(lvm.ParentId);

                string toEmail = parentlvm.Visitor.VisitorEmail;
                string subject = "[zynblog留言新回复]Re:";

                url += "&Vid=" + parentlvm.Visitor.Id;

                string emailBody = @"#Re: zynblog留言板"
                                   + "<br/>"
                                   + "<a href='#'>@ </a>" + parentlvm.Visitor.VisitorName
                                   + "<br/>"
                                   + "内容:" + lvm.LMessage
                                   + "<hr/>"
                                   + "回复者:<a href='#' >" + visitor.VisitorName + "</a>"
                                   + "<br/>"
                                   + "URL:"
                                   + "<a href='" + url + "' title='链接地址'>" + url + "</a>"
                                   + "<br/>"
                                   + "(系统通知,请勿回复)";

                SendMail.SendEMail("smtp.126.com", systemEmailName, systemEmailSecret, toEmail, subject, emailBody);
            }
        }
Ejemplo n.º 5
0
        public void SendBlogCmtEmail(Comment cmt, string pageSize)
        {
            //7.1 获取系统邮件Key Secret
            IBLL.IWebSettingService wService = OperateHelper.Current.serviceSession.WebSettingService;
            WebSetting keySeting             = wService.GetDataListBy(w => w.ConfigKey == "SystemEmailKey").FirstOrDefault();
            WebSetting secretSeting          = wService.GetDataListBy(w => w.ConfigKey == "SystemEmailSecret").FirstOrDefault();

            string systemEmailName   = keySeting.ConfigValue;    //系统邮箱
            string systemEmailSecret = secretSeting.ConfigValue; //系统邮箱密码

            //7.2 获取评论隶属于那一篇博文
            string title = articleService.GetEntity(cmt.CmtArtId).Title;

            //7.3 取到这条评论的最根上的评论Id
            int     rootcmtId = 0;
            int     parentId  = 0;
            Comment parentCmt = commentService.GetDataListBy(c => c.Id == cmt.ParentId).FirstOrDefault();
            Comment tempCmt   = parentCmt;

            if (parentCmt != null)
            {
                //7.4 父Id
                parentId = parentCmt.Id;
                while (tempCmt != null)
                {
                    tempCmt = commentService.GetDataListBy(c => c.Id == tempCmt.ParentId).FirstOrDefault();
                    if (tempCmt != null)
                    {
                        parentCmt = tempCmt;
                    }
                }
                rootcmtId = parentCmt.Id;
            }
            else
            {
                rootcmtId = cmt.Id;
            }

            //7.5 判断这个rootcmtId位于第几页
            int pageindex = 0;
            int pagesize  = Convert.ToInt32(pageSize);
            //对所有的一级评论按照时间排序即可
            List <Comment> cmtList = commentService.GetDataListBy(c => c.CmtArtId == cmt.CmtArtId && c.Status == 1 && c.ParentId == 0, c => c.SubTime);
            //判断id为rootcmtId在第几页
            int position = cmtList.FindIndex(c => c.Id == rootcmtId);            //找出这个rootId在所有一级评论中的位置,

            pageindex = Math.Max(((position + 1) + pagesize - 1) / pagesize, 1); //得到的即是该root评论在第几页的

            //7.6 url参数;最终这些参数将发送到前台js进行锚点定位、高亮处理 (对url参数进行加密)
            string url = "http://127.0.0.1:8081/Archives/Index/" + cmt.CmtArtId
                         + "?Flag=" + Common.Security.Base64UTF8Encode("1")
                         + "&AnchorIndex=" + Common.Security.Base64UTF8Encode(pageindex.ToString())
                         + "&AnchorSize=" + Common.Security.Base64UTF8Encode(pageSize.ToString())
                         + "&AnchorCmtRootId=" + Common.Security.Base64UTF8Encode(rootcmtId.ToString())
                         + "&AnchorCmtParentId=" + Common.Security.Base64UTF8Encode(parentId.ToString())
                         + "&AnchorCmtId=" + Common.Security.Base64UTF8Encode(cmt.Id.ToString());

            Visitor visitor = visitorService.GetEntity(cmt.VisitorId);

            //7.7 构造邮件主题、内容、发送邮件
            if (cmt.ParentId == 0)
            {
                string subject = "[您的博客有新评论]Re:" + title;

                url += "&Vid=" + Common.Security.Base64UTF8Encode("1");

                Visitor blogger = visitorService.GetEntity(1); //Id=3的是博主=我

                string emailBody = @"#Re: " + title
                                   + "<br/>"
                                   + "博客新评论:"
                                   + "<br/>"
                                   + "内容:" + cmt.CmtText
                                   + "<hr/>"
                                   + "评论者:<a href='#' >" + visitor.VisitorName + "</a>"
                                   + "<br/>"
                                   + "URL:"
                                   + "<a href='" + url + "' title='链接地址'>" + url + "</a>"
                                   + "<br/>"
                                   + "(系统通知,请勿回复)";

                SendMail.SendEMail("smtp.126.com", systemEmailName, systemEmailSecret, blogger.VisitorEmail, subject, emailBody);
            }
            else
            {
                Comment ParentCmt = commentService.GetEntity(cmt.ParentId);

                string toEmail = ParentCmt.Visitor.VisitorEmail;
                string subject = "[您的博客评论有新回复]Re:" + title;

                url += "&Vid=" + ParentCmt.Visitor.Id;

                string emailBody = @"#Re: " + title
                                   + "<br/>"
                                   + "<a href='#'>@ </a>" + ParentCmt.Visitor.VisitorName
                                   + "<br/>"
                                   + "内容:" + cmt.CmtText
                                   + "<hr/>"
                                   + "回复者:<a href='#' >" + visitor.VisitorName + "</a>"
                                   + "<br/>"
                                   + "URL:"
                                   + "<a href='" + url + "' title='链接地址'>" + url + "</a>"
                                   + "<br/>"
                                   + "(系统通知,请勿回复)";

                SendMail.SendEMail("smtp.126.com", systemEmailName, systemEmailSecret, toEmail, subject, emailBody);
            }
        }