Esempio n. 1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        MicroBSC.RolesBasedAthentication.SitePrincipal newUser = null;

        int    login_status = LOGIN_STATUS;
        string user_id      = USER_ID;

        string login_page_url = WebUtility.GetConfig("Login_Page_Url", "~/base/Login.aspx");

        //int login_status = 3;
        //string user_id = "admin";

        if (login_status > 0 && !user_id.Equals("-1"))
        {
            LOGIN_STATUS = -4;
            USER_ID      = string.Empty;


            MicroBSC.Biz.Common.EmpInfos emp = new MicroBSC.Biz.Common.EmpInfos();
            int emp_ref_id = emp.ValidateLogin(user_id);

            if (emp_ref_id.Equals(0))
            {
                FormsAuthentication.SignOut();
                Response.Redirect(login_page_url);
                return;
            }

            newUser = new MicroBSC.RolesBasedAthentication.SitePrincipal(user_id);

            Context.User = newUser;

            MicroBSC.RolesBasedAthentication.SiteIdentity gUserInfo = (MicroBSC.RolesBasedAthentication.SiteIdentity)Context.User.Identity;

            MicroBSC.Integration.CTL.Biz.Biz_Ctl_Common objCtlCommon = new MicroBSC.Integration.CTL.Biz.Biz_Ctl_Common();
            objCtlCommon.AddConnectLog(Session.SessionID, gUserInfo.Emp_Ref_ID, gUserInfo.LoginID, gUserInfo.Emp_Name, Request.UserHostAddress, "BSC");

            FormsAuthentication.RedirectFromLoginPage(user_id, false);
            Response.Redirect("~/base/Main.aspx");
        }
        else
        {
            FormsAuthentication.SignOut();
            Response.Redirect(login_page_url);
        }
    }
Esempio n. 2
0
        /// <summary>
        /// 로그인아이디와 패스워드로 인증를 확인한다. 로그인 시도 허용횟수 지정
        /// </summary>
        /// <param name="userID">로그인 아이디</param>
        /// <param name="userPWD">로그인 패스워드</param>
        /// <param name="failcnt">로그인 시도 허용횟수</param>
        /// <returns>1:정상 인증, -1:허용횟수 초과, 0:잘못된 로그인 정보</returns>
        public static int ValidateLogin(string loginId, string passwd, int failcnt, out SitePrincipal newuser)
        {
            MicroBSC.Integration.COM.Biz.Biz_Com_Emp_Info bizEmpInfo = new MicroBSC.Integration.COM.Biz.Biz_Com_Emp_Info();

            Biz.Common.EmpInfos emp = new Biz.Common.EmpInfos();


            IDbConnection conn = DbAgentHelper.CreateDbConnection();

            conn.Open();
            IDbTransaction trx = conn.BeginTransaction();

            int result = 0;

            newuser = null;

            try
            {
                DataTable dt_user_info = bizEmpInfo.Get_Emp_Login_Info(conn, trx, loginId);


                if (dt_user_info == null || dt_user_info.Rows.Count == 0)
                {
                    //잘못된 사용자 ID


                    result = 0;
                }
                else
                {
                    //사용자 ID 존재


                    int    user_ref_id  = DataTypeUtility.GetToInt32(dt_user_info.Rows[0]["emp_ref_id"]);
                    string user_passwd  = DataTypeUtility.GetString(dt_user_info.Rows[0]["PASSWD"]);
                    int    user_failcnt = DataTypeUtility.GetToInt32(dt_user_info.Rows[0]["FAILCNT"]);

                    if (user_failcnt < failcnt)
                    {
                        //로그인 시도 허용횟수 이내


                        if (user_passwd.Equals(passwd))
                        {
                            //비밀번호 일치


                            result = 1;
                            bizEmpInfo.Modify_Login_FailCnt(conn, trx, user_ref_id, 0, user_ref_id);//로그인 시도횟수 리셋
                            newuser = new SitePrincipal(user_ref_id);
                        }
                        else
                        {
                            //비밀번호 불일치


                            result = 0;
                        }
                    }
                    else
                    {
                        //로그인 시도 허용횟수 초과


                        result = -1;
                    }
                }

                trx.Commit();
            }
            catch (Exception ex)
            {
                trx.Rollback();
                result = 0;
            }
            finally
            {
                conn.Close();
            }

            return(result);
        }
Esempio n. 3
0
    private void DoAction(int LOGIN_STATUS, string USER_ID)
    {
        //페이지 열릴대마다 로그 기록
        writeLog(string.Format("{0} : DoAction() START", Request.PhysicalPath));

        MicroBSC.RolesBasedAthentication.SitePrincipal newUser = null;

        int    login_status = LOGIN_STATUS;
        string user_id      = USER_ID;

        string login_page_url = WebUtility.GetConfig("Login_Page_Url", "~/base/Login.aspx");

        if (WebUtility.GetConfig("SSL", "N").Equals("Y"))
        {
            if (WebUtility.GetConfig("SSLLIVE", "N").Equals("Y"))
            {
                login_page_url = WebUtility.GetConfig("SSL.LoginPageLive", "~/base/Login.aspx");
            }
            else
            {
                login_page_url = WebUtility.GetConfig("SSL.LoginPage", "~/base/Login.aspx");
            }
        }
        //int login_status = 3;
        //string user_id = "admin";

        if (login_status > 0 && !user_id.Equals("-1"))
        {
            LOGIN_STATUS = -4;
            USER_ID      = string.Empty;


            MicroBSC.Biz.Common.EmpInfos emp = new MicroBSC.Biz.Common.EmpInfos();
            int emp_ref_id = emp.ValidateLogin(user_id);

            if (emp_ref_id.Equals(0))
            {
                FormsAuthentication.SignOut();
                Response.Redirect(login_page_url);
                return;
            }

            newUser = new MicroBSC.RolesBasedAthentication.SitePrincipal(user_id);

            Context.User = newUser;

            MicroBSC.RolesBasedAthentication.SiteIdentity gUserInfo = (MicroBSC.RolesBasedAthentication.SiteIdentity)Context.User.Identity;


            if (WebUtility.GetConfig("LOG_SIGNON", "N").Equals("Y"))
            {
                MicroBSC.Integration.CTL.Biz.Biz_Ctl_Common objCtlCommon = new MicroBSC.Integration.CTL.Biz.Biz_Ctl_Common();
                objCtlCommon.AddConnectLog(Session.SessionID, gUserInfo.Emp_Ref_ID, gUserInfo.LoginID, gUserInfo.Emp_Name, Request.UserHostAddress, "BSC");
            }

            //페이지 열릴대마다 로그 기록
            writeLog(string.Format("{0} : DoAction() END", Request.PhysicalPath));

            FormsAuthentication.RedirectFromLoginPage(user_id, false);
            Response.Redirect("~/base/Main.aspx");
        }
        else
        {
            //페이지 열릴대마다 로그 기록
            writeLog(string.Format("{0} : DoAction() END", Request.PhysicalPath));
            FormsAuthentication.SignOut();
            Response.Redirect(login_page_url);
        }
    }