Пример #1
0
        public static MessageT SignOn(ProfileT profileT)
        {
            MessageT messageT = new MessageT();

            messageT.IsSuccess = false;
            messageT.Message = "";
            try
            {
                // DB 에서 사용자 인증 확인
                profileT = new ProfileBiz().LoginCheck(profileT);

                if (profileT != null)
                {
                    messageT.IsSuccess = true;

                    // 확인된 사용자 인증 처리
                    System.Web.Security.FormsAuthentication.SetAuthCookie(profileT.UserSeCode + "_" + profileT.UserId, false);

                    // 세션에는 사용자 기본정보만 저장
                    User = profileT;
                }

            }
            catch (Exception ex)
            {
                messageT.IsSuccess = false;
                messageT.Message = ex.Message;
            }
            return messageT;
        }
Пример #2
0
        /// <summary>
        /// 임시비밀번호 발급 이메일 전송
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="userSeCode"></param>
        /// <param name="userEmailAdres"></param>
        /// <param name="password"></param>
        public void SendTempPassword(string userId)
        {
            try
            {
                //사용자 정보 조회
                ProfileT profileT = new ProfileT();
                profileT.UserId = userId;
                /*
                profileT = new ProfileDac().SelectUser(profileT);

                if (profileT != null && profileT.Email.Length > 0)
                {
                    string content = new CommonBiz().ReadEmailTemplete(EmailInfo.EmailTempletePath + "/InitPassword.html");

                    if (!String.IsNullOrEmpty(content))
                    {
                        content = content.Replace("$$HOST_URL$$", EmailInfo.EmailSiteUrl);
                        content = content.Replace("$$IMG_PATH$$", Images.PortalImagesPath);
                        content = content.Replace("$$USER_SE_CODE$$", profileT.UserSeName);
                        content = content.Replace("$$USER_ID$$", userId);
                        content = content.Replace("$$PASSWORD$$", Security.Security.Decrypt(profileT.Password));

                        string[] arrToMailAddress = new string[] { profileT.Email };

                        //이메일 발송
                        new CommonBiz().SendMail(EmailInfo.SenderEmailAddress, arrToMailAddress, "계량종합관리시스템 임시 비밀번호 발송 안내", content, true);
                    }
                }
                 */
            }
            catch (Exception ex)
            {
                //메일보내기 실패
            }
        }
Пример #3
0
        public ActionResult Login(ProfileT profileT)
        {
            profileT.UserHostAddress = Request.UserHostAddress;						//사용자 IP

            MessageT messageT = BootstrapCertification.SignOn(profileT);

            string passChangeElapseAt = "N";													//비밀번호변경 시간경과 여부

            if (BootstrapCertification.User.PassChangeElapseAt != null)
            {
                passChangeElapseAt = BootstrapCertification.User.PassChangeElapseAt;
            }

            return Json(new { Success = messageT.IsSuccess, Message = messageT.Message, PassChangeElapseAt = passChangeElapseAt });
        }
Пример #4
0
        public static void SignOut()
        {
            System.Web.Security.FormsAuthentication.SignOut();

            User = null;
        }
Пример #5
0
        /// <summary>
        /// 회원탈퇴(개인회원)
        /// </summary>
        /// <param name="userT"></param>
        /// <returns></returns>
        public bool MberSecsn(UserT userT)
        {
            bool isSuceess = true;

            //사용자(개인사용자) 존재여부 판별
            ProfileT profileT = new ProfileT();
            profileT.UserId = userT.UserId;
            profileT.UserSeCode = "AC007001";

            //profileT = new ProfileDac().SelectUser(profileT);

            if (profileT != null)
            {
                //비밀번호 비교
                if (profileT.Password == Security.Security.Encrypt(userT.Password))
                {
                    //회원삭제
                    BeginTran();
                    try
                    {
                        //개인회원정보 삭제
                        //new IndvdlUserDac().DeleteIndvdlUser(userT.UserId);

                        //사용자정보 삭제 [김동훈 주석처리(2013-05-16) : 동일ID의 다른 유저의 가입을 막기위해 삭제하지 않는다.]
                        //new UserDac().DeleteUser(userT.UserId);

                        Commit();
                    }
                    catch (Exception ex)
                    {
                        RollBack();
                        throw ex;
                    }
                }
                else
                {
                    throw new Exception("비밀번호가 맞지 않습니다.");
                }
            }
            else
            {
                throw new Exception("존재하지 않는 사용자 이거나 개인사용자가 아닙니다.");
            }

            return isSuceess;
        }
Пример #6
0
        /// <summary>
        /// 사용자 비밀번호 수정
        /// </summary>
        /// <param name="userT"></param>
        public void UpdateUserPassword(UserT userT)
        {
            //사용자정보 조회
            ProfileT profileT = new ProfileT();
            profileT.UserId = userT.UserId;
            profileT.UserSeCode = userT.UserSeCode;
            //profileT = new ProfileDac().SelectUser(profileT);

            if (profileT != null)
            {
                //기존비밀번호 일치여부 판별
                if (profileT.Password == Security.Security.Encrypt(userT.OldPassword))
                {
                    userT.PasswordInitlAt = "N"; //비밀번호 초기화 여부
                    userT.Password = Security.Security.Encrypt(userT.Password); //비밀번호 암호화
                    new UserDac().UpdateUserPassword(userT);
                }
                else
                {
                    throw new Exception("기존비밀번호가 일치하지 않습니다.");
                }
            }
            else
            {
                throw new Exception("존재하지 않는 사용자 입니다.");
            }
        }
Пример #7
0
        /// <summary>
        /// 로그인 체크
        /// </summary>
        /// <param name="profileT"></param>
        /// <returns></returns>
        public ProfileT LoginCheck(ProfileT profileT)
        {
            ProfileT resultProfileT = null;

            //사용자구분별 사용자정보 조회
            profileT.UserTypeCode = profileT.UserSeCode;

            if (profileT.UserType == Security.UserType.JsUser)
            {
                //Js담당자인 경우
                resultProfileT = new ProfileDac().SelectJsUser(profileT);

            }
            else
            {
                //Js담당자가 아닌 경우
                resultProfileT = new ProfileDac().SelectUser(profileT);
            }

            if (resultProfileT != null)
            {
                //비밀번호 비교 (암호화 후 비교)
                //if (resultProfileT.Password == Security.Security.Encrypt(profileT.Password))
                if (resultProfileT.Password == profileT.Password)
                {
                    resultProfileT.UserId           = profileT.UserId;
                    resultProfileT.UserSeCode       = profileT.UserSeCode;
                    resultProfileT.UserTypeCode     = profileT.UserSeCode;
                    resultProfileT.UserHostAddress  = profileT.UserHostAddress;

                    // 회원 구분별 추가정보 조회
                    if (resultProfileT.UserType == Security.UserType.JsUser)
                    {
                        /*
                        EmplT emplT = new EmplBiz().SelectEmpl(resultProfileT.EmplCode);

                        resultProfileT.UserNm           = emplT.UserNm;             //사용자명
                        resultProfileT.TelNumber        = emplT.Telno;              //전화번호
                        resultProfileT.MobileNumber     = emplT.Mbtlnum;            //핸드폰
                        resultProfileT.Email            = emplT.EmailAdres;         //이메일
                        resultProfileT.DuzonDeptCode    = emplT.DuzonDeptCode;      //더존부서코드
                        resultProfileT.DuzonEmplCode    = emplT.DuzonEmplCode;      //더존사원코드

                        //Js사용자 권한그룹 목록 조회
                        resultProfileT.AuthorGroupList = new ProfileBiz().SelectJsUserAuthGroupList(resultProfileT.EmplCode);

                        //권한그룹 설정
                        resultProfileT.IsK0001 = resultProfileT.AuthorGroupList.Contains("K0001"); // 접수담당자 여부
                        resultProfileT.IsK0002 = resultProfileT.AuthorGroupList.Contains("K0002"); // 회계담당자 여부
                        resultProfileT.IsK0003 = resultProfileT.AuthorGroupList.Contains("K0003"); // 접수승인자 여부
                        resultProfileT.IsK0004 = resultProfileT.AuthorGroupList.Contains("K0004"); // 검정담당자 여부
                        resultProfileT.IsK0005 = resultProfileT.AuthorGroupList.Contains("K0005"); // 검정책임자 여부
                        resultProfileT.IsK0006 = resultProfileT.AuthorGroupList.Contains("K0006"); // 형식승인담당자 여부
                        resultProfileT.IsK0007 = resultProfileT.AuthorGroupList.Contains("K0007"); // 형식승인책임자 여부
                        resultProfileT.IsK0008 = resultProfileT.AuthorGroupList.Contains("K0008"); // 총괄책임자 여부
                        resultProfileT.IsK0009 = resultProfileT.AuthorGroupList.Contains("K0009"); // 시스템관리자 여부
                         */

                    }
                    else if (resultProfileT.UserType == Security.UserType.NormalUser)
                    {
                        //개인사용자 상세 조회
                        IndvdlUserT indvdlUserT = new IndvdlUserDac().SelectIndvdlUser(resultProfileT.UserId);

                        if (indvdlUserT != null)
                        {
                            //개인사용자 상태 체크
                            if (indvdlUserT.IndvdlUserSttusCode != "AC023001")
                            {
                                throw new Exception("개인사용자 상태가 미사용 상태입니다. 시스템관리자에게 문의하세요");
                            }

                            resultProfileT.UserNm           = indvdlUserT.UserNm;           // 사용자명
                            resultProfileT.TelNumber        = indvdlUserT.Telno;            // 전화번호
                            resultProfileT.MobileNumber     = indvdlUserT.Mbtlnum;          // 핸드폰
                            resultProfileT.Email            = indvdlUserT.EmailAdres;       // 이메일
                            resultProfileT.SmsRecptnAt      = indvdlUserT.SmsRecptnAt;      // sms수신여부
                            resultProfileT.EmailRecptnAt    = indvdlUserT.EmailRecptnAt;    // 이메일수신여부

                            //권한그룹 설정
                            IList<string> AuthorGroupList   = new List<string>();
                            resultProfileT.IsA0001 = true;          //개인회원 여부
                            AuthorGroupList.Add("A0001");
                            resultProfileT.AuthorGroupList = AuthorGroupList;
                        }
                        else
                        {
                            throw new Exception("개인사용자 정보 조회 오류");
                        }

                    }
                    else if (resultProfileT.UserType == Security.UserType.EnterpriseUser)
                    {
                        //기업사용자 상세 조회
                        EntrprsUserT entrprsUserT = new EntrprsUserDac().SelectEntrprsUser(resultProfileT.UserId);
                        if (entrprsUserT != null)
                        {
                            //기업사용자 상태 체크
                            if (entrprsUserT.EntrprsUserSttusCode == "AC019003")
                            {
                                throw new Exception("기업사용자 상태가 승인대기 상태입니다. 시스템관리자 또는 기업사용 담당자에게 문의하세요");
                            }

                            resultProfileT.UserNm = entrprsUserT.UserNm;          //사용자명
                            resultProfileT.TelNumber = entrprsUserT.Telno;        //전화번호
                            resultProfileT.MobileNumber = entrprsUserT.Mbtlnum;   //핸드폰
                            resultProfileT.Email = entrprsUserT.EmailAdres;       //이메일
                            resultProfileT.MngrAt = entrprsUserT.MngrAt;          //관리자여부

                            //기업정보 상세 조회
                            EntrprsT searchEntrprsT = new EntrprsT();
                            searchEntrprsT.EntrprsSn = entrprsUserT.EntrprsSn;
                            EntrprsT entrprsT = new EntrprsDac().SelectEntrprs(searchEntrprsT);
                            if (entrprsT != null)
                            {
                                resultProfileT.EntrprsSn = entrprsT.EntrprsSn;                            //기업일련번호
                                resultProfileT.Bizrno = entrprsT.Bizrno;                                  //사업자등록번호
                                resultProfileT.EntrprsNm = entrprsT.EntrprsNm;                            //기업명
                                resultProfileT.MfcrtrAt = entrprsT.MfcrtrAt;                              //제조업여부
                                resultProfileT.IrtbAt = entrprsT.IrtbAt;                                  //수입업여부
                                resultProfileT.RepairIndutyAt = entrprsT.RepairIndutyAt;                  //수리업여부
                                resultProfileT.MesurProofIndutyAt = entrprsT.MesurProofIndutyAt;          //계량증명업여부
                                resultProfileT.MrnrEmplyrAt = entrprsT.MrnrEmplyrAt;                      //계량기사용자여부
                                resultProfileT.EnterpriseSectionName = entrprsT.EnterpriseSectionName;    //업체구분명
                                resultProfileT.MnfcturRegistNoNm = entrprsT.MnfcturRegistNoNm;            //제조등록번호명
                                resultProfileT.MnfcturRegistDe = entrprsT.MnfcturRegistDe;                //제조등록일자
                                resultProfileT.MesurProofRegistNoNm = entrprsT.MesurProofRegistNoNm;      //계량증명업등록번호명
                                resultProfileT.MesurProofRegistDe = entrprsT.MesurProofRegistDe;          //계량증명업등록일자
                                resultProfileT.RprsntvNm = entrprsT.RprsntvNm;                            //대표자명
                                resultProfileT.ReprsntTelno = entrprsT.ReprsntTelno;                      //대표전화번호
                                //profileT.ReprsntFxnum = entrprsT.ReprsntFxnum; //대표팩스번호

                                //권한그룹 설정
                                IList<string> AuthorGroupList = new List<string>();
                                if (entrprsT.MfcrtrAt == "Y" || entrprsT.IrtbAt == "Y" || entrprsT.RepairIndutyAt == "Y" || entrprsT.MesurProofIndutyAt == "Y")
                                {
                                    resultProfileT.IsE0001 = true;	//등록업체 여부
                                    AuthorGroupList.Add("E0001");
                                }
                                if (entrprsT.MrnrEmplyrAt == "Y")
                                {
                                    resultProfileT.IsE0002 = true;	//계량기사용자 여부
                                    AuthorGroupList.Add("E0002");
                                }
                                resultProfileT.AuthorGroupList = AuthorGroupList;

                                //기업 사업장주소 목록 조회
                                EntrprsAdresT entrprsAdresT = new EntrprsAdresT();
                                entrprsAdresT.EntrprsSn = entrprsT.EntrprsSn;
                                entrprsAdresT.EntrprsAdresSeCode = "AC002001"; //사업장주소
                                IList<EntrprsAdresT> entrprsBplcAdresList = new EntrprsDac().SelectEntrprsAdresList(entrprsAdresT);
                                if (entrprsBplcAdresList != null && entrprsBplcAdresList.Count > 0)
                                {
                                    resultProfileT.EntrprsBplcAdresList = entrprsBplcAdresList; //기업 사업장주소 목록
                                }
                                else
                                {
                                    resultProfileT.EntrprsBplcAdresList = new List<EntrprsAdresT>();
                                }

                                //기업 공장주소 목록 조회
                                entrprsAdresT.EntrprsAdresSeCode = "AC002002"; //공장주소
                                IList<EntrprsAdresT> entrprsFctryAdresList = new EntrprsDac().SelectEntrprsAdresList(entrprsAdresT);
                                if (entrprsFctryAdresList != null && entrprsBplcAdresList.Count > 0)
                                {
                                    resultProfileT.EntrprsFctryAdresList = entrprsFctryAdresList; //기업 공장주소 목록
                                }
                                else
                                {
                                    resultProfileT.EntrprsFctryAdresList = new List<EntrprsAdresT>();
                                }
                            }
                            else
                            {
                                throw new Exception("기업정보 조회 오류");
                            }
                        }
                        else
                        {
                            throw new Exception("기업사용자 조회 오류");
                        }
                    }
                    /*
                    else if (resultProfileT.UserType == Security.UserType.SiGunGuUser)
                    {
                        //시군구사용자 상세 조회
                        SignguUserT signguUserT = new SignguUserDac().SelectSignguUser(resultProfileT.UserId);
                        if (signguUserT != null)
                        {
                            //시군구사용자 상태 체크
                            if (signguUserT.SignguUserSttusCode != "AC022001")
                            {
                                throw new Exception("계량공무원 상태가 미사용 상태입니다. 시스템관리자에게 문의하세요");
                            }
                            resultProfileT.UserNm = signguUserT.UserNm;               //사용자명
                            resultProfileT.TelNumber = signguUserT.Telno;             //전화번호
                            resultProfileT.MobileNumber = signguUserT.Mbtlnum;        //핸드폰
                            resultProfileT.Email = signguUserT.EmailAdres;            //이메일
                            resultProfileT.AtptSeCode = signguUserT.AtptSeCode;       //시도구분코드
                            resultProfileT.GuGunSeCode = signguUserT.GuGunSeCode;     //구군구분코드
                            resultProfileT.AdmnstmachNm = signguUserT.AdmnstmachNm;   //행정기관명

                            //권한그룹 설정
                            IList<string> AuthorGroupList = new List<string>();
                            resultProfileT.IsS0001 = true; //계량공무원 여부
                            AuthorGroupList.Add("S0001");
                            resultProfileT.AuthorGroupList = AuthorGroupList;
                        }
                        else
                        {
                            throw new Exception("시군구사용자 조회 오류");
                        }
                    }
                     */
                    else if (resultProfileT.UserType == Security.UserType.PblOfficialUser)
                    {
                        //권한그룹 설정
                        IList<string> AuthorGroupList = new List<string>();
                        resultProfileT.IsR0001 = true; //중앙공무원 여부
                        AuthorGroupList.Add("R0001");
                        resultProfileT.AuthorGroupList = AuthorGroupList;
                    }
                }
                else
                {
                    throw new Exception("비밀번호를 확인하세요!");
                }
            }
            else
            {
                throw new Exception("존재하지 않는 사용자ID입니다. 사용자 정보를 확인하세요!");
            }
            return resultProfileT;
        }