public static string ToPassWord(string text)
        {
            DESEncryptor des = new DESEncryptor();

            des.InputString = text;
            des.DesEncrypt();
            return(des.OutString);
        }
Exemple #2
0
        /// <summary>
        /// 解密
        /// </summary>
        /// <param name="str"></param>
        /// <returns></returns>
        public static string DesDecrypt(string str)
        {
            if (str == "")
            {
                return("");
            }
            DESEncryptor des = new DESEncryptor();

            des.InputString = str;
            des.DesDecrypt();
            return(des.OutString);
        }
        public void Login()
        {
            try
            {
                string strUsertitle = FormData["txtUserName"];
                string strPassWord = FormData["txtUserPWD"];
                string strIP = FormData["txtUserIP"];
                string strMac = FormData["txtMac"];

                User user = NewObject<User>();
                bool islogin = user.UserLogin(strUsertitle, strPassWord);


                if (islogin)
                {

                    BaseUser EbaseUser = user.GetUser(strUsertitle);
                    SysLoginRight right = new SysLoginRight();
                    right.UserId = EbaseUser.UserId;
                    right.EmpId = EbaseUser.EmpId;
                    right.WorkId = EbaseUser.WorkId;
                    oleDb.WorkId = EbaseUser.WorkId;

                    Dept dept = NewObject<Dept>();
                    BaseDept EbaseDept = dept.GetDefaultDept(EbaseUser.EmpId);
                    if (EbaseDept != null)
                    {
                        right.DeptId = EbaseDept.DeptId;
                        right.DeptName = EbaseDept.Name;
                    }

                    BaseEmployee EbaseEmp = (BaseEmployee)NewObject<BaseEmployee>().getmodel(EbaseUser.EmpId);
                    right.EmpName = EbaseEmp.Name;

                    BaseWorkers EbaseWork = (BaseWorkers)NewObject<BaseWorkers>().getmodel(EbaseUser.WorkId);
                    right.WorkName = EbaseWork.WorkName;

                    if (EbaseWork.DelFlag == 0)
                    {
                        string regkey = EbaseWork.RegKey;
                        DESEncryptor des = new DESEncryptor();
                        des.InputString = regkey;
                        des.DesDecrypt();
                        string[] ret = (des.OutString == null ? "" : des.OutString).Split(new char[] { '|' });
                        if (ret.Length == 2 && ret[0] == EbaseWork.WorkName && Convert.ToDateTime(ret[1]) > DateTime.Now)
                        {
                            if (PutOutData.ContainsKey("RoleUser")) PutOutData.Remove("RoleUser");
                            PutOutData.Add("RoleUser", right);
                            if (PutOutData.ContainsKey("WorkId")) PutOutData.Remove("WorkId");
                            PutOutData.Add("WorkId", right.WorkId);

                            DataTable ListModeules = ConvertExtend.ToDataTable(NewObject<Module>().GetModuleList(right.UserId).OrderBy(x => x.SortId).ToList());
                            List<BaseMenu> listM = NewObject<Menu>().GetMenuList(right.UserId);
                            //给菜单url后面绑定MenuId参数
                            for (int i = 0; i < listM.Count; i++)
                            {
                                listM[i].UrlName = ConvertExtend.UrlAddParams(listM[i].UrlName, "MenuId", listM[i].MenuId.ToString());
                            }
                            DataTable ListMenus = ConvertExtend.ToDataTable(listM);
                            DataTable ListDepts = ConvertExtend.ToDataTable(NewObject<Dept>().GetHaveDept(right.EmpId));
                            DataTable ListGroups = ConvertExtend.ToDataTable(NewObject<Group>().GetGroupList(right.UserId));

                            if (PutOutData.ContainsKey("ListModeules")) PutOutData.Remove("ListModeules");
                            PutOutData.Add("ListModeules", ListModeules);
                            if (PutOutData.ContainsKey("ListMenus")) PutOutData.Remove("ListMenus");
                            PutOutData.Add("ListMenus", ListMenus);
                            if (PutOutData.ContainsKey("ListDepts")) PutOutData.Remove("ListDepts");
                            PutOutData.Add("ListDepts", ListDepts);
                            if (PutOutData.ContainsKey("ListGroups")) PutOutData.Remove("ListGroups");
                            PutOutData.Add("ListGroups", ListGroups);

                            JsonResult = RetSuccess("");
                        }
                        else
                        {
                            //throw new Exception("登录用户的当前机构注册码不正确!");
                            JsonResult = RetError("登录用户的当前机构注册码不正确!");
                        }
                    }
                    else
                    {
                        //throw new Exception("登录用户的当前机构还未启用!");
                        JsonResult = RetError("登录用户的当前机构还未启用!");
                    }
                }
                else
                {
                    //throw new Exception("输入的用户名密码不正确!");
                    JsonResult = RetError("输入的用户名密码不正确!");
                }
                //JsonResult = RetSuccess("");
            }
            catch (Exception err)
            {
                //ZhyContainer.CreateException().HandleException(err, "HISPolicy");
                JsonResult = RetError("登录失败,请联系系统管理员!" + err.Message);
            }
        }
        public void TurnOnOffWorker(int workId)
        {
            BaseWorkers worker = NewObject<BaseWorkers>().getmodel(workId) as BaseWorkers;


            if (worker.DelFlag == -1)//新建的启用
            {
                //判读注册码是否正确
                string regkey = worker.RegKey;
                DESEncryptor des = new DESEncryptor();
                des.InputString = regkey;
                des.DesDecrypt();
                string[] ret = (des.OutString == null ? "" : des.OutString).Split(new char[] { '|' });
                if (ret.Length == 2 && ret[0] == worker.WorkName && Convert.ToDateTime(ret[1]) > DateTime.Now)
                {

                    //新建机构,增加用户、关联科室、关联角色
                    oleDb.WorkId = worker.WorkId;

                    BaseEmployee _currEmp = NewObject<BaseEmployee>();
                    BaseUser _currUser = NewObject<BaseUser>();
                    List<BaseGroup> _grouplist = NewObject<BaseGroup>().getlist<BaseGroup>();
                    List<BaseDept> _deptlist = NewObject<BaseDept>().getlist<BaseDept>();

                    _currUser.IsAdmin = 1;
                    ((IfrmAddUser)iBaseView["frmAddUser"]).loadAddUserView(_currEmp, -1, _currUser, _grouplist, _deptlist, null, null);
                    (iBaseView["frmAddUser"] as Form).Text = "设置默认超级用户";
                    (iBaseView["frmAddUser"] as Form).ShowDialog();

                    if ((iBaseView["frmAddUser"] as DialogForm).IsOk)
                    {
                        //修改状态为0
                        worker.DelFlag = 0;
                        worker.save();
                        MessageBoxEx.Show("操作成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    oleDb.WorkId = LoginUserInfo.WorkId;
                }
                else
                {
                    MessageBoxEx.Show("机构注册码不正确!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            else if (worker.DelFlag == 1)//禁用的启用
            {
                //判读注册码是否正确
                string regkey = worker.RegKey;
                DESEncryptor des = new DESEncryptor();
                des.InputString = regkey;
                des.DesDecrypt();
                string[] ret = (des.OutString == null ? "" : des.OutString).Split(new char[] { '|' });
                if (ret.Length == 2 && ret[0] == worker.WorkName && Convert.ToDateTime(ret[1]) > DateTime.Now)
                {
                    //修改状态为0
                    worker.DelFlag = 0;
                    worker.save();
                    MessageBoxEx.Show("操作成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    MessageBoxEx.Show("机构注册码不正确!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            else//禁用
            {
                //修改状态为1
                worker.DelFlag = 1;
                worker.save();
                MessageBoxEx.Show("操作成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }

            frmWorker.currWorker = worker;
        }
        public string TurnOnOffWorker()
        {
            int workId = ToInt32(ParamJsonData);
            BaseWorkers worker = NewObject<BaseWorkers>().getmodel(workId) as BaseWorkers;
            string msgText = "";

            if (worker.DelFlag == -1)//新建的启用
            {
                //判读注册码是否正确
                string regkey = worker.RegKey;
                DESEncryptor des = new DESEncryptor();
                des.InputString = regkey;
                des.DesDecrypt();
                string[] ret = (des.OutString == null ? "" : des.OutString).Split(new char[] { '|' });
                if (ret.Length == 2 && ret[0] == worker.WorkName && Convert.ToDateTime(ret[1]) > DateTime.Now)
                {
                    //新建机构,增加用户、关联科室、关联角色
                    oleDb.WorkId = worker.WorkId;
                    //修改状态为0
                    worker.DelFlag = 0;
                    worker.save();
                    //MessageBoxEx.Show("操作成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    msgText = "操作成功!";
                }
                else
                {
                    msgText = "机构注册码不正确!";
                }
            }
            else if (worker.DelFlag == 1)//禁用的启用
            {
                //判读注册码是否正确
                string regkey = worker.RegKey;
                DESEncryptor des = new DESEncryptor();
                des.InputString = regkey;
                des.DesDecrypt();
                string[] ret = (des.OutString == null ? "" : des.OutString).Split(new char[] { '|' });
                if (ret.Length == 2 && ret[0] == worker.WorkName && Convert.ToDateTime(ret[1]) > DateTime.Now)
                {
                    //修改状态为0
                    worker.DelFlag = 0;
                    worker.save();
                    //MessageBoxEx.Show("操作成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    msgText = "操作成功!";
                }
                else
                {
                    //MessageBoxEx.Show("机构注册码不正确!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    msgText = "机构注册码不正确!";
                }
            }
            else//禁用
            {
                //修改状态为1
                worker.DelFlag = 1;
                worker.save();
                //MessageBoxEx.Show("操作成功!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                msgText = "操作成功!";
            }

            return ToJson(worker,msgText);
        }
        public string UserLogin()
        {
            //UseDb("SQL20052");
            //string strsql = @"select count(*) from appcenter";
            //object o = oleDb.GetDataResult(strsql);
            //UseDb();

            string usercode = ToArray(ParamJsonData)[0].ToString();
            string password = ToArray(ParamJsonData)[1].ToString();

            User user = NewObject<User>();
            bool islogin = user.UserLogin(usercode, password);

            if (islogin)
            {
                BaseUser EbaseUser = user.GetUser(usercode);
                SysLoginRight right = new SysLoginRight();
                right.UserId = EbaseUser.UserId;
                right.EmpId = EbaseUser.EmpId;
                right.WorkId = EbaseUser.WorkId;

                Dept dept = NewObject<Dept>();
                BaseDept EbaseDept = dept.GetDefaultDept(EbaseUser.EmpId);
                if (EbaseDept != null)
                {
                    right.DeptId = EbaseDept.DeptId;
                    right.DeptName = EbaseDept.Name;
                }

                BaseEmployee EbaseEmp = (BaseEmployee)NewObject<BaseEmployee>().getmodel(EbaseUser.EmpId);
                right.EmpName = EbaseEmp.Name;

                BaseWorkers EbaseWork = (BaseWorkers)NewObject<BaseWorkers>().getmodel(EbaseUser.WorkId);
                right.WorkName = EbaseWork.WorkName;

                if (EbaseWork.DelFlag == 0)
                {
                    string regkey = EbaseWork.RegKey;
                    DESEncryptor des = new DESEncryptor();
                    des.InputString = regkey;
                    des.DesDecrypt();
                    string[] ret = (des.OutString == null ? "" : des.OutString).Split(new char[] { '|' });
                    if (ret.Length == 2 && ret[0] == EbaseWork.WorkName && Convert.ToDateTime(ret[1]) > DateTime.Now)
                    {
                        ClientInfo.LoginRight = right;//缓存登录用户信息

                        Object[] retObjs = new Object[]{
                            right.EmpName,right.DeptName,right.WorkName
                            ,NewObject<Module>().GetModuleList(right.UserId).OrderBy(x => x.SortId).ToList()
                            ,NewObject<Menu>().GetMenuList(right.UserId)
                            ,NewObject<Dept>().GetHaveDept(right.EmpId)
                            ,right
                        };
                        return ToJson(retObjs);
                    }
                    else
                    {
                        throw new Exception("登录用户的当前机构注册码不正确!");
                    }
                }
                else
                {
                    throw new Exception("登录用户的当前机构还未启用!");
                }
            }
            else
            {
                throw new Exception("输入的用户名密码不正确!");
            }
        }
        public void UserLogin()
        {
            User user = NewObject<User>();
            bool islogin = user.UserLogin(frmlogin.usercode, frmlogin.password);

            if (islogin)
            {
                BaseUser EbaseUser = user.GetUser(frmlogin.usercode);
                SysLoginRight right = new SysLoginRight();
                right.UserId = EbaseUser.UserId;
                right.EmpId = EbaseUser.EmpId;
                right.WorkId = EbaseUser.WorkId;

                Dept dept = NewObject<Dept>();
                BaseDept EbaseDept = dept.GetDefaultDept(EbaseUser.EmpId);
                if (EbaseDept != null)
                {
                    right.DeptId = EbaseDept.DeptId;
                    right.DeptName = EbaseDept.Name;
                }

                BaseEmployee EbaseEmp = (BaseEmployee)NewObject<BaseEmployee>().getmodel(EbaseUser.EmpId);
                right.EmpName = EbaseEmp.Name;

                BaseWorkers EbaseWork = (BaseWorkers)NewObject<BaseWorkers>().getmodel(EbaseUser.WorkId);
                right.WorkName = EbaseWork.WorkName;

                if (EbaseWork.DelFlag == 0)
                {
                    string regkey = EbaseWork.RegKey;
                    DESEncryptor des = new DESEncryptor();
                    des.InputString = regkey;
                    des.DesDecrypt();
                    string[] ret = (des.OutString == null ? "" : des.OutString).Split(new char[] { '|' });
                    if (ret.Length == 2 && ret[0] == EbaseWork.WorkName && Convert.ToDateTime(ret[1]) > DateTime.Now)
                    {
                        AppGlobal.cache.Add("RoleUser", right);

                        //调用单点登录
                        //Guid TokenKey;
                        //EFWCoreLib.CoreFrame.SSO.SsoHelper.SignIn(right.UserId.ToString(), right.EmpName, out TokenKey);
                        //AppGlobal.cache.Add("TokenKey", TokenKey);

                        frmmain.UserName = right.EmpName;
                        frmmain.DeptName = right.DeptName;
                        frmmain.WorkName = right.WorkName;

                        frmmain.modules = NewObject<Module>().GetModuleList(right.UserId).OrderBy(x => x.SortId).ToList();
                        frmmain.menus = NewObject<WinMainUIFrame.ObjectModel.RightManager.Menu>().GetMenuList(right.UserId);
                        frmmain.depts = NewObject<Dept>().GetHaveDept(right.EmpId);

                        frmmain.showSysMenu();
                        ShowWeclomeForm();
                        ((System.Windows.Forms.Form)frmmain).ShowIcon = true;
                        ((System.Windows.Forms.Form)frmmain).Icon = System.Drawing.Icon.ExtractAssociatedIcon(EFWCoreLib.CoreFrame.Init.AppGlobal.AppRootPath + @"images\msn.ico");
                        ((System.Windows.Forms.Form)frmmain).Show();

                        AppGlobal.winfromMain.MainForm = (System.Windows.Forms.Form)frmmain;
                        //InitMessageForm();//?

                        //登录完成后执行扩展的插件方法
                        string val= AppPluginManage.getbaseinfoDataValue(_pluginName, "LoginCompleted");
                        if (val != null && val.Split('@').Length==3)
                        {
                            string pluginName=val.Split('@')[0];
                            string controllerName=val.Split('@')[1];
                            string methodName=val.Split('@')[2];
                            InvokeController(pluginName, controllerName, methodName, right);
                        }

                        CustomConfigManager.xmlDoc = null;
                    }
                    else
                    {
                        throw new Exception("登录用户的当前机构注册码不正确!");
                    }
                }
                else
                {
                    throw new Exception("登录用户的当前机构还未启用!");
                }
            }
            else
            {
                throw new Exception("输入的用户名密码不正确!");
            }
        }