public IHttpActionResult Registration() { SSOService service = new SSOService(); var response = service.SSORegistrationService(); if (response.isSuccessful == false) { return(Content(HttpStatusCode.BadRequest, response)); } return(Ok(response)); }
//public ActionResult png() //{ // //public void ShowAuthCode(Stream stream, out string code) // //Random random = new Random(); // //code = random.Next(1000, 9999).ToString(); // //Bitmap bitmap = CreateAuthCode(code); // //bitmap.Save(stream, System.Drawing.Imaging.ImageFormat.Gif); // var iCount = 4; // var number=0; // var checkCode = String.Empty; // var iSeed = DateTime.Now.Millisecond; // var random = new Random(iSeed); // for (int i = 0; i < iCount; i++) // { // number = random.Next(10); // checkCode += number.ToString(); // } // Session["CheckCode"] = checkCode; // if (checkCode == null || checkCode.Trim() == String.Empty) // return View(); // int iWordWidth = 15; // int iImageWidth = checkCode.Length * iWordWidth; // Bitmap image = new Bitmap(iImageWidth, 20); // Graphics g = Graphics.FromImage(image); // try // { // //生成随机生成器 // random = new Random(); // //清空图片背景色 // g.Clear(Color.White); // //画图片的背景噪音点 // for (int i = 0; i < 20; i++) // { // int x1 = random.Next(image.Width); // int x2 = random.Next(image.Width); // int y1 = random.Next(image.Height); // int y2 = random.Next(image.Height); // g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2); // } // //画图片的背景噪音线 // for (int i = 0; i < 2; i++) // { // int x1 = 0; // int x2 = image.Width; // int y1 = random.Next(image.Height); // int y2 = random.Next(image.Height); // if (i == 0) // { // g.DrawLine(new Pen(Color.Gray, 2), x1, y1, x2, y2); // } // } // for (int i = 0; i < checkCode.Length; i++) // { // string Code = checkCode[i].ToString(); // int xLeft = iWordWidth * (i); // random = new Random(xLeft); // iSeed = DateTime.Now.Millisecond; // int iValue = random.Next(iSeed) % 4; // if (iValue == 0) // { // Font font = new Font("Arial", 13, (FontStyle.Bold | System.Drawing.FontStyle.Italic)); // Rectangle rc = new Rectangle(xLeft, 0, iWordWidth, image.Height); // LinearGradientBrush brush = new LinearGradientBrush(rc, Color.Blue, Color.Red, 1.5f, true); // g.DrawString(Code, font, brush, xLeft, 2); // } // else if (iValue == 1) // { // Font font = new System.Drawing.Font("楷体", 13, (FontStyle.Bold)); // Rectangle rc = new Rectangle(xLeft, 0, iWordWidth, image.Height); // LinearGradientBrush brush = new LinearGradientBrush(rc, Color.Blue, Color.DarkRed, 1.3f, true); // g.DrawString(Code, font, brush, xLeft, 2); // } // else if (iValue == 2) // { // Font font = new System.Drawing.Font("宋体", 13, (System.Drawing.FontStyle.Bold)); // Rectangle rc = new Rectangle(xLeft, 0, iWordWidth, image.Height); // LinearGradientBrush brush = new LinearGradientBrush(rc, Color.Green, Color.Blue, 1.2f, true); // g.DrawString(Code, font, brush, xLeft, 2); // } // else if (iValue == 3) // { // Font font = new System.Drawing.Font("黑体", 13, (System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Bold)); // Rectangle rc = new Rectangle(xLeft, 0, iWordWidth, image.Height); // LinearGradientBrush brush = new LinearGradientBrush(rc, Color.Blue, Color.Green, 1.8f, true); // g.DrawString(Code, font, brush, xLeft, 2); // } // } // //////画图片的前景噪音点 // //for (int i = 0; i < 8; i++) // //{ // // int x = random.Next(image.Width); // // int y = random.Next(image.Height); // // image.SetPixel(x, y, Color.FromArgb(random.Next())); // //} // //画图片的边框线 // g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1); // System.IO.MemoryStream ms = new System.IO.MemoryStream(); // image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif); // Response.ClearContent(); // Response.BinaryWrite(ms.ToArray()); // } // finally // { // g.Dispose(); // image.Dispose(); // } // //private Bitmap CreateAuthCode(string str) // //Font fn = new Font("宋体", 12); // //Brush forecolor = Brushes.Black; // //Brush bgcolor = Brushes.White; // //PointF pf = new PointF(5, 5); // //Bitmap bitmap = new Bitmap(100, 25); // //Rectangle rec = new Rectangle(0, 0, 100, 25); // //Graphics gh = Graphics.FromImage(bitmap); // //gh.FillRectangle(bgcolor, rec); // //gh.DrawString(str, fn, forecolor, pf); // //return bitmap; // return View(); //} public ActionResult TiackLogin(string ticket) { if (!string.IsNullOrEmpty(ticket)) { string validationTicket = new SSOService().TicketValidation(ticket); SSOTicket resTicket = JsonConvert.DeserializeObject <SSOTicket>(validationTicket); string loginName = resTicket.loginname; string orgCoding = resTicket.orgcoding; string realName = resTicket.username; string userInfo = new SSOService().GetUserInfo(loginName, orgCoding); YHUserInfo yhUser = JsonConvert.DeserializeObject <YHUserInfo>(userInfo); if (yhUser == null) { return(RedirectToAction("Login", "Account")); } string orgStr = new SSOService().GetOrgInfo(orgCoding); YHOrgInfo orgInfo = JsonConvert.DeserializeObject <YHOrgInfo>(orgStr); if (orgInfo == null) { return(RedirectToAction("Login", "Account")); } string orgname = orgInfo.orgname; string headpicture = yhUser.headpicture; LoginViewModel loginModel = new LoginViewModel(); loginModel.UserName = "******"; loginModel.Password = "******"; using (var authService = HostContext.ResolveService <AuthenticateService>(base.HttpContext)) { #region 登陆 var response = authService.Authenticate(new Authenticate { UserName = loginModel.UserName, Password = loginModel.Password, RememberMe = true }); var session = base.SessionAs <UserSession>(); session.headpicture = headpicture; session.orgname = orgname; session.yhRealName = realName; var authTicket = new FormsAuthenticationTicket(loginModel.UserName, loginModel.RememberMe, 120); var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(authTicket)); cookie.HttpOnly = true; cookie.Expires = loginModel.RememberMe ? DateTime.Now.AddDays(2d) : DateTime.Now.AddMinutes(120); Response.Cookies.Add(cookie); if (Url.IsLocalUrl("")) { return(Redirect(Dy.Common.UrlHelper.Decode(""))); } else if (loginModel.Password != ((int)GrassrootsFloodCtrlEnums.InitialPasswordEnums.初始密码).ToString() || loginModel.UserName == "dxz") { var userrole = HostContext.Resolve <SysService>().GET(new GetUserByIdOrUserName() { UserName = loginModel.UserName }); if (null != userrole && userrole.RoleID == (int)GrassrootsFloodCtrlEnums.RoleEnums.县级用户) { return(RedirectToAction("CountyIndex", "Audit")); } else if (null != userrole && userrole.RoleID == (int)GrassrootsFloodCtrlEnums.RoleEnums.市级用户) { return(RedirectToAction("CityIndex", "Audit")); } else if (null != userrole && userrole.RoleID == (int)GrassrootsFloodCtrlEnums.RoleEnums.省级用户) { return(Redirect("/Leader/Index")); } else { return(RedirectToAction("Index", "Home")); } } else { return(RedirectToAction("ModificationPsaaword", "Home")); } #endregion } } return(RedirectToAction("Login", "Account")); }
public void Test() { //从单点登录转入 WebClient wc = new WebClient(); string uri = "http://221.2.94.82:8088/GPM/App/GPM/SSOService.asmx"; Stream stream = wc.OpenRead(uri); if (Request.QueryString["UserNo"] != null && Request.QueryString["SID"] != null) { SSOService client = new SSOService(); //SSOServiceSoapClient client = new SSOServiceSoapClient(); string pams = client.CheckUser(Request.QueryString["UserNo"], Request.QueryString["SID"], "Travel"); if (pams.IndexOf("@#¥%") > 0) { string[] usernums = Regex.Split(pams, "@#¥%"); string user = usernums[0]; string pwd = usernums[1]; if (string.IsNullOrEmpty(pwd)) { bool flag = DBHelper.IsExists(user); if (flag) { DataRow ObjDR = DBHelper.GetUserInfo(user).Rows[0]; Session["UserID"] = Convert.ToString(ObjDR["UserID"]); Session["LoginID"] = Convert.ToString(ObjDR["LoginID"]); Session["UserName"] = Convert.ToString(ObjDR["UserName"]); Session["UserPwd"] = Convert.ToString(ObjDR["UserPwd"]); string strScript = ""; strScript = strScript + "<script language='javascript'>"; strScript = strScript + "newWin=window.open('MainFrame.aspx','MainFrame','titlebar=yes,menubar=no,toolbar=no,location=no,directories=no,status=no,scrollbars=no,resizable=no,copyhistory=yes,top=0,left=0,width=screen.availWidth,height=screen.availHeight');"; strScript = strScript + "newWin.moveTo(0,0);"; strScript = strScript + "newWin.resizeTo(screen.availWidth,screen.availHeight);"; strScript = strScript + "window.opener=null;"; strScript = strScript + "window.open('','_self');"; strScript = strScript + "window.close();"; strScript = strScript + "window.parent.close();"; strScript = strScript + "</script>"; Response.Write(strScript); } else { this.RegisterStartupScript("newWindow", "<script language='javascript'>alert('当前系统不存在此用户!');</script>"); } } else { DataRow ObjDR = DBHelper.GetUserInfo(user).Rows[0]; Session["UserID"] = Convert.ToString(ObjDR["UserID"]); Session["LoginID"] = Convert.ToString(ObjDR["LoginID"]); Session["UserName"] = Convert.ToString(ObjDR["UserName"]); Session["UserPwd"] = Convert.ToString(ObjDR["UserPwd"]); string strScript = ""; strScript = strScript + "<script language='javascript'>"; strScript = strScript + "newWin=window.open('MainFrame.aspx','MainFrame','titlebar=yes,menubar=no,toolbar=no,location=no,directories=no,status=no,scrollbars=no,resizable=no,copyhistory=yes,top=0,left=0,width=screen.availWidth,height=screen.availHeight');"; strScript = strScript + "newWin.moveTo(0,0);"; strScript = strScript + "newWin.resizeTo(screen.availWidth,screen.availHeight);"; strScript = strScript + "window.opener=null;"; strScript = strScript + "window.open('','_self');"; strScript = strScript + "window.close();"; strScript = strScript + "window.parent.close();"; strScript = strScript + "</script>"; Response.Write(strScript); } } else { // labResult.Text = pams; } } }
/// <summary> /// 修改密码 /// </summary> /// <param name="logid"></param> /// <param name="password"></param> /// <returns></returns> public int SetPassWord(string logid, string password) { int iret = 0; try { //统一身份认证启用的情况下,同步修改统一身份认证服务器的用户密码 if (IsUseUia()) { //旧密码 string oldpassword = NG.NGEncode.DecodePassword(HttpContext.Current.Session["uiapwd"].ToString(), 128); string tokenIdentity = string.Empty; //统一身份认证 string ssoPath = HttpContext.Current.Request.PhysicalApplicationPath + "\\sso.config"; string serverUrl = string.Format("http://{0}/v1.0/Router.ashx", SSOService.GetSTSLoginWebSiteName()); var client = new DefaultNGClient(serverUrl, MainCommonUIP.GetConfigSetion(ssoPath, "WebSiteIdentity"), MainCommonUIP.GetConfigSetion(ssoPath, "MD5key"), NG.SDK10.Enums.EnumDataFormat.Xml); string newpassword = NG.NGEncode.DecodePassword(password, 128); var reqCPW = new UserChangePWRequest() { //tokenkey TokenIdentity = HttpContext.Current.Session["ssotoken"].ToString(), //userkey ChangeUserKey = HttpContext.Current.Session["ssouserkey"].ToString(), NewPassword = newpassword, OldPassword = oldpassword }; UserResponse user = client.Execute(reqCPW); if (!string.IsNullOrEmpty(user.UserKey)) { iret = 1; } iret = dac.SetPassWord(AppSessionConfig.GetPubDBConnStr(), logid, password); string loginACCount = AppSessionConfig.GetLoginACCount();//登录帐套 bool netcallIsAvailable = PublicUtils.GetNetcallIsAvailableEx(loginACCount); if (netcallIsAvailable) { IFactory facatory = new NetCallFactory(); IInstantMessageRules rules = facatory.Create(); string msg = string.Empty; rules.SetUserPassWord(logid, password, ref msg); } System.Diagnostics.Trace.WriteLine("修改用户Password成功! 用户标识:" + user.UserKey); } else { //string file = System.Web.HttpContext.Current.Request.PhysicalApplicationPath + @"\DMC\TimerService\PortalMaptoNetcallConfig.dat"; string loginACCount = AppSessionConfig.GetLoginACCount();//登录帐套 bool netcallIsAvailable = PublicUtils.GetNetcallIsAvailableEx(loginACCount); if (netcallIsAvailable) { IFactory facatory = new NetCallFactory(); IInstantMessageRules rules = facatory.Create(); string msg = string.Empty; rules.SetUserPassWord(logid, password, ref msg); } iret = dac.SetPassWord(AppSessionConfig.GetPubDBConnStr(), logid, password); } } catch (Exception e) { System.Diagnostics.Trace.WriteLine(e.Message + e.StackTrace); iret = 0; //throw e; netcall密码有时候修改失败,异常不抛出 } return(iret); }