Example #1
0
        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));
        }
Example #2
0
        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));
            }
        }