public ActionResult Login(string appid, string sign, string returnurl) { XXF.BasicService.CertCenter.CertCenterProvider ccp = new XXF.BasicService.CertCenter.CertCenterProvider(XXF.BasicService.CertCenter.ServiceCertType.manage); if (!string.IsNullOrEmpty(appid)) { if (string.IsNullOrWhiteSpace(returnurl)) { throw new Exception("returnurl错误!"); } string appsecret = ccp.GetAppSecret(appid); if (appsecret == "") { throw new Exception("appid不存在!"); } Dictionary <string, string> para = new Dictionary <string, string>();//需要参加签名的参数对 para.Add("appid", appid); para.Add("returnurl", returnurl); if (sign != GetSign(para, appsecret)) { throw new Exception("签名错误!"); } if (User.Identity.IsAuthenticated)//已登录过 { string[] tokens = User.Identity.Name.Split(','); if (tokens.Count() > 1) { return(RedirectToAction("index", "Cluster")); } } } else { } return(View()); }
public ActionResult Login(string appid, string sign, string returnurl, string username, string password, string validate) { try { returnurl = returnurl ?? ""; username = username ?? ""; password = password ?? ""; validate = validate ?? ""; ViewBag.username = username; XXF.BasicService.CertCenter.CertCenterProvider ccp = new XXF.BasicService.CertCenter.CertCenterProvider(XXF.BasicService.CertCenter.ServiceCertType.manage); if (!string.IsNullOrEmpty(appid)) { //外部授权 if (returnurl.Length < 2) { throw new Exception("returnurl错误!"); } string appsecret = ccp.GetAppSecret(appid); if (appsecret == "") { throw new Exception("appid不存在!"); } Dictionary <string, string> para = new Dictionary <string, string>();//需要参加签名的参数对 para.Add("appid", appid); para.Add("returnurl", returnurl); if (sign != GetSign(para, appsecret)) { throw new Exception("签名错误!"); } } AuthToken re = ccp.Login(username, password); if (re != null) { username = re.userid; #region 6写auth Cookie tb_user_model user = Common.GetUserName(username); if (user == null) { throw new Exception("用户在平台中未开权限。"); } FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(user.id + " " + user.username + "," + re.token + " " + user.userrole, false, (int)FormsAuthentication.Timeout.TotalMinutes); string enticket = FormsAuthentication.Encrypt(ticket); HttpCookie cookieofau = new HttpCookie(FormsAuthentication.FormsCookieName, enticket); Response.AppendCookie(cookieofau); #endregion return(RedirectToAction("index", "TimeWatchLogApiDayReport", new { userid = user.id })); } else { ModelState.AddModelError("", ccp.result.msg); return(View()); } } catch (Exception exp) { ModelState.AddModelError("", "登陆出错,请咨询管理员。错误信息:" + exp.Message); return(View()); } }
//登出 public ActionResult Logout(string returnurl) { if (User.Identity.IsAuthenticated) { XXF.BasicService.CertCenter.CertCenterProvider ccp = new XXF.BasicService.CertCenter.CertCenterProvider(XXF.BasicService.CertCenter.ServiceCertType.manage); HttpCookie authcookie = Request.Cookies[FormsAuthentication.FormsCookieName]; FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(authcookie.Value); string userid = ticket.Name.Split(' ').FirstOrDefault(); ccp.LogOut(ticket.Name.Split(',').LastOrDefault()); FormsAuthentication.SignOut(); } if (string.IsNullOrEmpty(returnurl)) { return(Redirect("/Login/Login")); } else { return(Redirect(returnurl)); } }
public ActionResult Login(string appid, string sign, string returnurl) { XXF.BasicService.CertCenter.CertCenterProvider ccp = new XXF.BasicService.CertCenter.CertCenterProvider(XXF.BasicService.CertCenter.ServiceCertType.manage); if (!string.IsNullOrEmpty(appid)) { if (string.IsNullOrWhiteSpace(returnurl)) { throw new Exception("returnurl错误!"); } string appsecret = ccp.GetAppSecret(appid); if (appsecret == "") { throw new Exception("appid不存在!"); } Dictionary<string, string> para = new Dictionary<string, string>();//需要参加签名的参数对 para.Add("appid", appid); para.Add("returnurl", returnurl); if (sign != Common.GetSign(para, appsecret)) { throw new Exception("签名错误!"); } if (User.Identity.IsAuthenticated)//已登录过 { string[] tokens = User.Identity.Name.Split(','); if (tokens.Count() > 1) { return RedirectToAction("index", "Task"); } } } else { } return View(); }
public ActionResult Login(string appid, string sign, string returnurl, string username, string password, string validate) { if (System.Configuration.ConfigurationManager.AppSettings["loginType"] == "1") { tb_user_model user = Common.GetUser(username, password); if (null != user) { if (user == null) throw new Exception("用户在平台中未开权限。"); FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(user.id + " " + user.username + " " + username + "," + "token" + " " + user.userrole, false, (int)FormsAuthentication.Timeout.TotalMinutes); string enticket = FormsAuthentication.Encrypt(ticket); HttpCookie cookieofau = new HttpCookie(FormsAuthentication.FormsCookieName, enticket); Response.AppendCookie(cookieofau); return RedirectToAction("index", "Task", new { userid = user.id }); } } try { returnurl = returnurl ?? ""; username = username ?? ""; password = password ?? ""; validate = validate ?? ""; ViewBag.username = username; XXF.BasicService.CertCenter.CertCenterProvider ccp = new XXF.BasicService.CertCenter.CertCenterProvider(XXF.BasicService.CertCenter.ServiceCertType.manage); if (!string.IsNullOrEmpty(appid)) { //外部授权 if (returnurl.Length < 2) { throw new Exception("returnurl错误!"); } string appsecret = ccp.GetAppSecret(appid); if (appsecret == "") { throw new Exception("appid不存在!"); } Dictionary<string, string> para = new Dictionary<string, string>();//需要参加签名的参数对 para.Add("appid", appid); para.Add("returnurl", returnurl); if (sign != Common.GetSign(para, appsecret)) { throw new Exception("签名错误!"); } } AuthToken re = ccp.Login(username, password); if (re != null) { username = re.userid; #region 6写auth Cookie tb_user_model user = Common.GetUserName(username); if (user == null) throw new Exception("用户在平台中未开权限。"); FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(user.id + " " + user.username + " " + username + "," + re.token + " " + user.userrole, false, (int)FormsAuthentication.Timeout.TotalMinutes); string enticket = FormsAuthentication.Encrypt(ticket); HttpCookie cookieofau = new HttpCookie(FormsAuthentication.FormsCookieName, enticket); Response.AppendCookie(cookieofau); #endregion return RedirectToAction("index", "Task", new { userid = user.id }); } else { ModelState.AddModelError("", ccp.result.msg); return View(); } } catch (Exception exp) { ModelState.AddModelError("", "登陆出错,请咨询管理员。错误信息:" + exp.Message); return View(); } }
//登出 public ActionResult Logout(string returnurl) { if (User.Identity.IsAuthenticated) { XXF.BasicService.CertCenter.CertCenterProvider ccp = new XXF.BasicService.CertCenter.CertCenterProvider(XXF.BasicService.CertCenter.ServiceCertType.manage); HttpCookie authcookie = Request.Cookies[FormsAuthentication.FormsCookieName]; FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(authcookie.Value); string userid = ticket.Name.Split(' ').FirstOrDefault(); ccp.LogOut(ticket.Name.Split(',').LastOrDefault()); FormsAuthentication.SignOut(); } if (string.IsNullOrEmpty(returnurl)) return RedirectToAction("Login"); else return Redirect(returnurl); }