/// <summary>
        /// 同步用户
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void btnSynchronous_Click(object sender, EventArgs e)
        {
            //同步系统用户获取系统下所有用户信息
            List <UserInUserInfo> userinfo = SecurityHandler.LoginOn(Request.Cookies.Get("authorizationcode").Value.ToString()).GetUserInfoList();
            //本地用户
            List <Dictuser> allUser           = new DictuserService().GetDictuser().ToList();
            Dictionary <string, Dictuser> map = new Dictionary <string, Dictuser>();

            for (int i = 0; i < allUser.Count; i++)
            {
                map.Add(allUser[i].Usercode, allUser[i]);
            }
            #region 用户数据更新
            foreach (UserInUserInfo sysu in userinfo)
            {
                if (map.ContainsKey(sysu.USERNAME))
                {
                    Dictuser newUser = map[sysu.USERNAME];
                    if (sysu.ECHONAME != null)
                    {
                        newUser.Username = sysu.ECHONAME;
                    }
                    if (sysu.PASSWORD != null)
                    {
                        newUser.Password = sysu.PASSWORD;
                    }
                    try
                    {
                        new DictuserService().SaveDictlab(newUser);
                    }
                    catch (Exception ex)
                    {
                        MessageBoxShow(ex.Message, MessageBoxIcon.Error);
                        return;
                    }
                }
                else
                {
                    try
                    {
                        Dictuser newUser = new Dictuser();
                        newUser.Username      = sysu.ECHONAME;
                        newUser.Usercode      = sysu.USERNAME;
                        newUser.Password      = sysu.PASSWORD;
                        newUser.Dictlabid     = 0;
                        newUser.Dictlabdeptid = 0;
                        newUser.Active        = "1";
                        new DictuserService().SaveDictlab(newUser);
                    }
                    catch (Exception ex)
                    {
                        MessageBoxShow(ex.Message, MessageBoxIcon.Error);
                        return;
                    }
                }
            }
            MessageBoxShow("用户已同步!", MessageBoxIcon.Information);
            BindGrid();
            #endregion
        }
Exemple #2
0
 public Dictuser GetDictuserInfo(Dictuser library)
 {
     //Dictuser obj = null;
     //IList lst = this.selectIList("Dict.GetDictuserInfo", library);
     //if (lst.Count > 0)
     //    obj = (Dictuser)lst[0];
     //return obj;
     return(this.selectObj <Dictuser>("Dict.GetDictuserInfo", library));
 }
Exemple #3
0
        public AuthorizeResponse Process(AuthorizeRequest request)
        {
            var response = new AuthorizeResponse()
            {
                ResultType = ResultTypes.Ok
            };

            var dictUser = new Dictuser()
            {
                Usercode = request.Username
            };

            dictUser = new DictuserService().GetDictuserInfoByUserCode(dictUser);
            if (dictUser == null)
            {
                response.ResultType = ResultTypes.DataValidationError;
                response.Messages   = new[] { string.Format("Cannot find dictUser by username={0}", request.Username) };
                return(response);
            }

            var domainUserInfo = new daan.domain.UserInfo();

            domainUserInfo.userCode      = dictUser.Usercode;
            domainUserInfo.userName      = dictUser.Username;
            domainUserInfo.userId        = Convert.ToInt32(dictUser.Dictuserid);
            domainUserInfo.loginTime     = DateTime.Now;
            domainUserInfo.joinLabidstr  = dictUser.Joinlabid;
            domainUserInfo.dictlabid     = dictUser.Dictlabid;
            domainUserInfo.joinDeptstr   = dictUser.Joindeptid;
            domainUserInfo.dictlabdeptid = dictUser.Dictlabdeptid;

            bool           enablePermissionControl = true;
            LoginService   loginservice            = new LoginService();
            List <Dictlab> lablist = new List <Dictlab>();

            if (enablePermissionControl)
            {
                lablist = loginservice.GetPermissionDictlab(domainUserInfo);
            }
            else
            {
                lablist = loginservice.GetLoginDictlab();
            }
            response.LabAssociations = lablist.Select(l => l.ToLabInfo()).ToArray();

            var dictAllCustomerList = loginservice.GetDictcustomer();

            response.OrganizationAssociations = dictAllCustomerList.Select(c => c.ToOrganizationInfo()).ToArray();

            DictreporttemplateService dictreporttemplateService = new DictreporttemplateService();
            var dictReportTemplates = dictreporttemplateService.GetDictreporttemplateAll();

            response.ReportTemplates = dictReportTemplates.Select(r => r.ToReportTemplateInfo()).ToArray();

            return(response);
        }
Exemple #4
0
        public Dictuser GetDictuserInfoByUserCode(Dictuser dictuser)
        {
            //Dictuser obj = null;
            //IList lst = this.selectIList("Dict.GetDictuserInfoByCode", dictuser);
            //if (lst.Count > 0)
            //    obj = (Dictuser)lst[0];
            //return obj;

            return(this.selectObj <Dictuser>("Dict.GetDictuserInfoByCode", dictuser));
        }
Exemple #5
0
        ///<summary>
        ///新增编辑后保存
        ///</summary>
        ///<param name="library"></param>
        /// <returns></returns>
        public bool SaveDictlab(Dictuser library)
        {
            int nflag = 0;

            //新增
            if (library.Dictuserid == null || library.Dictuserid == 0)
            {
                try
                {
                    library.Dictuserid = getSeqID("SEQ_DICTUSER");
                    insert("Dict.InsertDictuser", library);
                    CacheHelper.RemoveAllCache("daan.SelectDictuseresult");
                    CacheHelper.RemoveAllCache("daan.GetLoginUserInfo");
                    nflag = 1;
                    List <LogInfo> logLst = getLogInfo <Dictuser>(new Dictuser(), library);
                    AddMaintenanceLog("Dictuser", int.Parse(library.Dictlabid.ToString()), logLst, "新增", library.Username, library.Usercode, modulename);
                }
                catch (Exception ex)
                {
                    nflag = 0;
                    throw new Exception(ex.Message);
                }
            }
            else//保存
            {
                try
                {
                    Dictuser dictlab = GetDictuserInfo(library);
                    nflag = update("Dict.UpdateDictuser", library);
                    CacheHelper.RemoveAllCache("daan.SelectDictuseresult");
                    CacheHelper.RemoveAllCache("daan.GetLoginUserInfo");
                    List <LogInfo> logLst = getLogInfo <Dictuser>(dictlab, library);
                    AddMaintenanceLog("Dictuser", int.Parse(library.Dictlabid.ToString()), logLst, "修改", library.Username, library.Usercode, modulename);
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
            }
            return(nflag > 0);
        }
Exemple #6
0
        protected void btLogin_Click(object sender, EventArgs e)
        {
            try
            {
                if (Session["check"] == null)
                {
                    this.tbCaptcha.Text = string.Empty;
                    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "message", "<script language=\"javascript\">alert(\"验证码失效!\")</script>");
                    return;
                }
                if (tbCaptcha.Text != Session["check"].ToString())
                {
                    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "message", "<script language=\"javascript\">alert(\"验证码错误!\")</script>");
                    this.tbCaptcha.Text = string.Empty;
                    return;
                }
                string usercode = Server.HtmlEncode(tbUserName.Text);
                string passWord = tbPassWord.Text;
                //进行用户登录,security.LoginResult为null或者security.LoginResult.IsPassed && security.LoginResult.AuthorizationCode != ""
                //都是登录失败
                SecurityHandler security = SecurityHandler.Login(usercode, passWord);
                if (security.LoginResult.SystemCode == null) //判断存不存在
                {
                    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "message", "<script language=\"javascript\">alert(\"用户名或密码错误!\")</script>");
                    this.tbUserName.Text = string.Empty;
                    this.tbPassWord.Text = string.Empty;
                    this.tbCaptcha.Text  = string.Empty;
                    return;
                }
                var      aa   = SecurityHandler.LoginOn(security.LoginResult.AuthorizationCode).GetCurrentUserInfo();
                Dictuser user = new Dictuser();
                user.Usercode = aa.USERNAME;
                user          = new DictuserService().GetDictuserInfoByUserCode(user);
                if (user != null)
                {
                    UserInfo userInfo = new UserInfo();
                    userInfo.AuthorizationCode = security.LoginResult.AuthorizationCode;
                    userInfo.userCode          = user.Usercode;
                    userInfo.userName          = user.Username;
                    userInfo.userId            = Convert.ToInt32(user.Dictuserid);
                    userInfo.loginTime         = DateTime.Now;
                    userInfo.joinLabidstr      = user.Joinlabid;
                    userInfo.dictlabid         = user.Dictlabid;
                    userInfo.joinDeptstr       = user.Joindeptid;
                    userInfo.dictlabdeptid     = user.Dictlabdeptid;
                    userInfo.sysSetting        = GetSysSetting();
                    Session["UserInfo"]        = userInfo;
                }

                if (security.LoginResult.IsPassed && security.LoginResult.AuthorizationCode != "")
                {
                    //这里的Cookie名字不能更改
                    HttpCookie cookie = new HttpCookie("authorizationcode");
                    cookie.Value = security.LoginResult.AuthorizationCode;
                    TimeSpan ts = new TimeSpan(1, 0, 0, 0);
                    cookie.Expires = DateTime.Now.Add(ts);//添加作用时间
                    Response.AppendCookie(cookie);

                    if (!RegexPassWordSecurity(passWord))
                    {
                        ClientScript.RegisterStartupScript(this.GetType(), "redirectToChangePassword",
                                                           "<script> alert('您的密码安全性较弱,请重新修改密码'); window.location.href='EditPassword.aspx';</script>");

                        return;
                    }

                    Response.Redirect("Main.aspx", false);
                    //////PageContext.RegisterStartupScript("top.location.href = 'Main.aspx';");
                    //Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "message", "<script language=\"javascript\">top.location.href = 'Main.aspx';</script>");
                }
                else
                {
                    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "message", "<script language=\"javascript\">alert(\"用户名或密码错误!\")</script>");
                    this.tbUserName.Text = string.Empty;
                    this.tbPassWord.Text = string.Empty;
                    this.tbCaptcha.Text  = string.Empty;
                    return;
                }
            }
            catch (Exception ex)
            {
                Alert.ShowInTop(ex.Message, "体检系统");
            }
        }