public ViewItem(string mode, Channel channel, Music music, Member member) { this.mode = mode; this.num = music.Seq; this.URL = music.URL; this.ChannelID = music.ChannelID; this.MusicID = music.MusicID; this.Title = music.Title; this.Auth = false; this.Name = member.NickName; if (music.MemberID == member.MemberID) { this.Auth = true; } else { if (channel.CreateMemberID == member.MemberID) { this.Auth = true; } } }
public JsonResult UserInfo(int MemberID) { Member member = new Member(); using (var context = new SharedPlayerContext()) { member = context.Members.Where(x => x.MemberID == MemberID).FirstOrDefault() ?? new Member(); } if (member != null && member.MemberID > 0) { return Json(new { Check = true, Message = String.Empty, Data = member }); } else { return Json(new { Check = false, Message = "대상이 없습니다." }); } }
public ActionResult JoinCompleteProc(string Token) { if (!String.IsNullOrEmpty(Token)) { string HashToken = AES256.Decrypt(Token, this.Secret, true); if (!String.IsNullOrEmpty(HashToken)) { MailAuth auth = new MailAuth(); Member member = new Member(); using (var context = new SharedPlayerContext()) { auth = context.MailAuths.Where(x => x.Token.Equals(HashToken)).Where(x => x.IsComplete == false).FirstOrDefault(); if (auth != null && auth.AuthID > 0) { member = context.Members.Where(x => x.MemberID == auth.MemberID).FirstOrDefault(); auth.IsComplete = true; auth.AcceptDate = DateTime.Now; member.IsMailAuth = true; member.LastUpdate = DateTime.Now; context.SaveChanges(); return View(this); } else { return RedirectToAction("ErrorGuide", "Home", new { ErrCode = 4901 }); } } } else { return RedirectToAction("ErrorGuide", "Home", new { ErrCode = 4902 }); } } else { return RedirectToAction("ErrorGuide", "Home", new { ErrCode = 4903 }); } }
public JsonResult LoginProc(string Email, string Password) { bool chk = false; string msg = String.Empty; try { Member member = new Member(); using (var context = new SharedPlayerContext()) { member = context.Members.Where(x => x.Email.Equals(Email)).FirstOrDefault() ?? new Member(); if (member != null && member.MemberID > 0) { if (Sha512.ValidatePassword(Password, member.Password)) { if (member.IsMailAuth) { LoginAuth auth = new LoginAuth(); auth.RegDate = DateTime.Now; auth.ExpiredDate = Convert.ToDateTime(String.Format("{0} 23:59:59", DateTime.Now.ToString("yyyy-MM-dd"))); auth.UserBrowser = String.Format("{0} v{1}.{2}", Request.Browser.Browser, Request.Browser.MajorVersion, Request.Browser.MinorVersion); auth.MemberID = member.MemberID; auth.UserIP = Request.UserHostAddress; auth.Token = Salt.RandomString(16); int cnt = 0; do { auth.Token = Salt.RandomString(16); cnt = context.Auths.Where(x => x.Token.Equals(auth.Token)).Count(); } while (cnt > 0); context.Auths.Add(auth); context.SaveChanges(); CryptoCookie.SetCookie("Token", auth.Token); chk = true; msg = ""; } else { chk = false; msg = "메일인증이 완료되지 않았습니다. 메일을 확인해 주세요."; } } else { chk = false; msg = "아이디 또는 비밀번호가 일치하지 않습니다."; } } else { chk = false; msg = "아이디 또는 비밀번호가 일치하지 않습니다."; } } } catch (Exception ex) { chk = false; msg = ex.Message; if (ex.InnerException != null) { msg = ex.InnerException.Message; } } return Json(new { Check = chk, Message = msg }); }
public JsonResult JoinProc(Member member) { try { bool chk = false; string msg = String.Empty; member.RegDate = DateTime.Now; member.LastUpdate = DateTime.Now; member.IsMailAuth = false; member.Password = Sha512.CreateHash(member.Password); using (var context = new SharedPlayerContext()) { var checkList = context.Members.Where(x => x.Email.Equals(member.Email)).Count(); if (checkList > 0) { chk = false; msg = "이미 사용중인 이메일 입니다."; } else { context.Members.Add(member); context.SaveChanges(); if (member.MemberID > 0) { MailAuth auth = new MailAuth(); auth.AcceptDate = DateTime.Now; auth.Email = member.Email; auth.IsComplete = false; auth.member = member; auth.RegDate = DateTime.Now; auth.Token = Salt.RandomString(16); context.MailAuths.Add(auth); context.SaveChanges(); if (auth.AuthID > 0) { string URL = String.Format("{0}://{1}/Member/JoinCompleteProc?Token={2}", Request.Url.Scheme, Request.Url.Host, AES256.Encrypt(auth.Token, this.Secret, true)); StringBuilder builder = new StringBuilder(); builder.Append(FileHandler.ReadFile(Server.MapPath("~/Content/MemberJoin.html"), Encoding.UTF8)); builder.Replace("{URL}", URL); if (Mail.Send(member.Email, "[SharedPlayer.net] 회원가입 인증메일입니다.", builder.ToString())) { chk = true; } else { chk = false; msg = "인증메일 발송이 실패하였습니다. 잠시 후 다시 시도해 주세요."; } } else { chk = false; msg = "인증메일 발송이 실패하였습니다. 잠시 후 다시 시도해 주세요."; } } } } return Json(new { Check = chk, Message = msg }); } catch (Exception ex) { if (ex.InnerException != null) { return Json(new { Check = false, Message = ex.InnerException.InnerException.Message }); } else { return Json(new { Check = false, Message = "2. " + ex.Message }); } } }