public ActionResult Test() { var token = Request.QueryString["token"]; //var isLogin = Request.QueryString["continue"]; var sid = WebHelper.UrlDecode(Request.QueryString["sid"]); var strJson = WebHelper.HttpWebRequest("https://bpm.redsun.com.cn:19088/sso.aspx?act=check&type=json&tid=" + token); var result = strJson.ToJObject(); var operators = new Operator { UserId = result["userid"].ToString(), Code = result["userid"].ToString(), Account = result["loginname"].ToString(), UserName = result["name"].ToString(), Password = result["userid"].ToString(), Secretkey = result["userid"].ToString(), CompanyId = result["companyid"].ToString(), DepartmentId = result["departmentid2"].ToString(), IpAddress = Net.Ip, IpAddressName = IpLocation.GetLocation(Net.Ip), //ObjectId = new PermissionBll().GetObjectStr(userEntity.UserId), LogTime = DateTime.Now, Token = DESEncrypt.Encrypt(Guid.NewGuid().ToString()) }; OperatorProvider.Provider.AddCurrent(operators); return(Redirect(sid)); }
public ActionResult CheckLogin(string username, string password, string verifycode, int autologin) { var logEntity = new LogEntity { CategoryId = 1, OperateTypeId = ((int)OperationType.Login).ToString(), OperateType = EnumAttribute.GetDescription(OperationType.Login), OperateAccount = username, OperateUserId = username, Module = Config.GetValue("SoftName") }; try { #region 验证码验证 if (autologin == 0) { verifycode = Md5Helper.MD5(verifycode.ToLower(), 16); if (Session["session_verifycode"].IsEmpty() || verifycode != Session["session_verifycode"].ToString()) { throw new Exception("验证码错误,请重新输入"); } } #endregion #region 内部账户验证 var userEntity = new UserBll().CheckLogin(username, password); if (userEntity != null) { var operators = new Operator { UserId = userEntity.UserId, Code = userEntity.EnCode, Account = userEntity.Account, UserName = userEntity.RealName, Password = userEntity.Password, Secretkey = userEntity.Secretkey, CompanyId = userEntity.OrganizeId, DepartmentId = userEntity.DepartmentId, IpAddress = Net.Ip, IpAddressName = IpLocation.GetLocation(Net.Ip), ObjectId = new PermissionBll().GetObjectStr(userEntity.UserId), LogTime = DateTime.Now, Token = DESEncrypt.Encrypt(Guid.NewGuid().ToString()) }; var authorizeBll = new AuthorizeBll(); var dataAuthorize = new AuthorizeDataModel { ReadAutorize = authorizeBll.GetDataAuthor(operators), ReadAutorizeUserId = authorizeBll.GetDataAuthorUserId(operators), WriteAutorize = authorizeBll.GetDataAuthor(operators, true), WriteAutorizeUserId = authorizeBll.GetDataAuthorUserId(operators, true) }; operators.DataAuthorize = dataAuthorize; operators.IsSystem = userEntity.Account == "System"; OperatorProvider.Provider.AddCurrent(operators); //写入日志 logEntity.ExecuteResult = -1; logEntity.ExecuteResultJson = "登陆成功"; logEntity.WriteLog(); } #endregion #region 第三方账户验证 #endregion return(Success("登陆成功。")); } catch (Exception ex) { WebHelper.RemoveCookie("tony_autologin"); logEntity.ExecuteResult = -1; logEntity.ExecuteResultJson = ex.Message; logEntity.WriteLog(); return(Error(ex.Message)); } }