Exemple #1
0
    //由HINTS登入事件
    protected void Login()
    {
        string HINTSUserID  = "";  //使用者帳號
        string strTagetPage = "";  //轉移目標網址

        //使用者帳號
        if (Request.QueryString["UserID"] != null)
        {
            HINTSUserID = Request.QueryString["UserID"];
        }
        //轉移目標網址
        if (Request.QueryString["TargetPage"] != null)
        {
            strTagetPage = Request.QueryString["TargetPage"];
        }
        DataTable dtUser = clsORCSUser.ORCS_User_SELECT_by_UserID(HINTSUserID);
        //登入條件檢查
        DataTable dtUserInfo = clsORCSUser.ORCS_User_SELECT_by_UserID(HINTSUserID);

        ORCSSession = new ORCSSessionManager(this);
        ORCSSession.ResetSession();
        ORCSSession.IsLogin   = true;
        ORCSSession.UserID    = dtUserInfo.Rows[0]["cUserID"].ToString();
        ORCSSession.Authority = dtUserInfo.Rows[0]["cAuthority"].ToString();
        ORCSSession.TempID    = clsEditGroupMember.GetGroupIDByUserIDClassID(ORCSSession.UserID, ORCSSession.GroupID);
        Response.Redirect(GeTagetPageURL(strTagetPage));
    }
Exemple #2
0
    //頁面載入前初始化Session
    protected override void OnPreInit(EventArgs e)
    {
        ORCSSession             = new ORCSSessionManager(this);
        ORCSSession.IsLogin     = false;
        ORCSSession.ProcessPage = "ORCS_Login";

        base.OnPreInit(e);
    }
Exemple #3
0
 //登入按鈕事件
 protected void btLogin_Click(object sender, EventArgs e)
 {
     //判斷帳密是否輸入正確
     //登入成功
     if (clsORCSUser.ORCS_User_CHECK_Login(tbUserID.Text, tbPasswd.Text))
     {
         DataTable dtUserInfo = clsORCSUser.ORCS_User_SELECT_by_UserID(tbUserID.Text);
         ORCSSession = new ORCSSessionManager(this);
         ORCSSession.ResetSession();
         ORCSSession.IsLogin   = true;
         ORCSSession.UserID    = dtUserInfo.Rows[0]["cUserID"].ToString();
         ORCSSession.Authority = dtUserInfo.Rows[0]["cAuthority"].ToString();
         //檢查系統狀態,若未上課並且身分是學生則無法進入系統首頁
         if (CheckSystemState() == "0" && ORCSSession.Authority == "s")//CheckSystemState() == "0" 未上課
         {
             ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "alert('尚未開始上課,無法登入系統')", true);
             ORCSSession.ClearSession();
         }
         else
         {
             //檢查IP位址
             if (bCheckClientIP() == false && ORCSSession.Authority == "s")
             {
                 ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "alert('無法從上課地點以外的地方登入')", true);
                 ORCSSession.ClearSession();
             }
             //成大教室虛擬IP都相同暫時註解
             else if (bUserClientIP() == false)//檢查IP是否為自己的IP
             {
                 ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "alert('此電腦已有其他使用者登入,無法再登入')", true);
                 ORCSSession.ClearSession();
             }
             //
             else
             {
                 //記錄學生小組ID
                 ORCSSession.TempID = clsEditGroupMember.GetGroupIDByUserIDClassID(ORCSSession.UserID, ORCSSession.GroupID);
                 //學生登入成功更新出席狀態(教師不會更新,因為教師沒出現在出席狀態資料表)
                 //個人
                 UpdateStudentAttendance(ORCSSession.UserID, "0");
                 //小組
                 UpdateStudentAttendance(ORCSSession.TempID, "1");
                 //登入成功後進入ORCS首頁
                 ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "location.href='../Homepage/Homepage.aspx'", true);
             }
         }
     }
     //登入失敗
     else
     {
         lErrorMsg.Text = "登入失敗,請檢查你的帳號與密碼";
     }
 }
 ORCSSessionManager ORCSSession;//定義Session
 protected void Page_Load(object sender, EventArgs e)
 {
     //Session初始化
     ORCSSession = new ORCSSessionManager(this);
     //檢查是否已登入,若未登入則直接關閉頁面
     if (!ORCSSession.IsLogin)
     {
         Response.Redirect("<script>window.close();</script>");
     }
     if (!IsPostBack)
     {
         //載入課程
         LoadClass();
     }
 }
Exemple #5
0
        protected virtual void ORCS_Init()
        {
            // set sesstion
            ORCSSession = new ORCSSessionManager(this);

            //取得使用者ID(由MLAS活動導向過來需取得參數)
            if (Request.QueryString["MLASSystem"] == "Y")
            {
                string strUserID = "afeng";//Request.QueryString["UserID"].ToString();
                ORCSSession.UserID  = strUserID;
                ORCSSession.IsLogin = true;
                DataTable UserInfo = clsORCSUser.ORCS_User_SELECT_by_UserID(strUserID);
                ORCSSession.Authority = UserInfo.Rows[0]["cAuthority"].ToString();
            }

            //標題名稱
            ((Label)Master.FindControl("lTitle")).Text = Page.Title;

            //若不為教師身分則將工具列的資料探勘(歷史紀錄)和群組管理隱藏
            if (ORCSSession.Authority != "t")
            {
                ((HyperLink)Master.FindControl("hlDataMining")).Visible = false;
                ((Label)Master.FindControl("lbDataMining")).Visible     = false;
                ((HyperLink)Master.FindControl("hlEditGroup")).Visible  = false;
                ((Label)Master.FindControl("lbEditGroup")).Visible      = false;
            }

            //檢查是否已登入,若未登入則直接關閉頁面
            if (!ORCSSession.IsLogin)
            {
                Response.Redirect("<script>window.close();</script>");
            }

            /* 新版不使用以下驗證
             * //檢查系統為上課(1)或下課(0),若為下課則將學生的Session清空
             * DataTable dtSystemControl;
             * dtSystemControl = clsSystemControl.ORCS_SystemControl_SELECT("SystemControl");
             * string strSystemState = dtSystemControl.Rows[0]["iSysControlParam"].ToString();
             * if (strSystemState == "0" && ORCSSession.Authority == "s")
             *  ORCSSession.ClearSession();
             */
        }
Exemple #6
0
    //回傳系統狀態(下課:0或上課:1或遲到:2)
    protected void MLASLogin()
    {
        string MLASUserID        = ""; //使用者帳號
        string MLASUserPassword  = ""; //使用者密碼
        string MLASUserName      = ""; //使用者姓名
        string MLASUserAuthority = ""; //使用者身分

        //使用者帳號
        if (Request.QueryString["UserID"] != null)
        {
            MLASUserID = Request.QueryString["UserID"];
        }
        //使用者密碼
        if (Request.QueryString["Password"] != null)
        {
            MLASUserPassword = Request.QueryString["Password"];
        }
        //使用者姓名
        if (Request.QueryString["Name"] != null)
        {
            MLASUserName = Request.QueryString["Name"];
        }
        //使用者身分
        if (Request.QueryString["Authority"] != null)
        {
            MLASUserAuthority = Request.QueryString["Authority"];
        }
        DataTable dtUser = clsORCSUser.ORCS_User_SELECT_by_UserID(MLASUserID);

        //若無此使用者則新增
        if (dtUser.Rows.Count <= 0)
        {
            clsORCSUser.ORCS_User_INSERT(MLASUserID, MLASUserPassword, MLASUserName, MLASUserAuthority);
        }
        else
        {
            if (dtUser.Rows[0]["cPassword"].ToString() != MLASUserPassword)
            {
                clsORCSUser.ORCS_User_UPDATE_UserID_Password(MLASUserID, MLASUserPassword);
            }
        }
        //登入條件檢查
        DataTable dtUserInfo = clsORCSUser.ORCS_User_SELECT_by_UserID(MLASUserID);

        ORCSSession = new ORCSSessionManager(this);
        ORCSSession.ResetSession();
        ORCSSession.IsLogin   = true;
        ORCSSession.UserID    = dtUserInfo.Rows[0]["cUserID"].ToString();
        ORCSSession.Authority = dtUserInfo.Rows[0]["cAuthority"].ToString();
        //檢查系統狀態,若未上課並且身分是學生則無法進入系統首頁
        if (CheckSystemState() == "0" && ORCSSession.Authority == "s")
        {
            ORCSSession.ClearSession();
            ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "alert('尚未開始上課,無法登入系統');window.close();", true);
        }
        else
        {
            //檢查IP位址
            if (bCheckClientIP() == false && ORCSSession.Authority == "s")
            {
                ORCSSession.ClearSession();
                ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "alert('無法從上課地點以外的地方登入');window.close();", true);
            }
            else if (bUserClientIP() == false)//檢查IP是否為自己的IP
            {
                ORCSSession.ClearSession();
                ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "alert('此電腦已有其他使用者登入,無法再登入');window.close();", true);
            }
            else
            {
                //記錄學生小組ID
                ORCSSession.TempID = clsEditGroupMember.GetGroupIDByUserIDClassID(ORCSSession.UserID, ORCSSession.GroupID);
                //學生登入成功更新出席狀態(教師不會更新,因為教師沒出現在出席狀態資料表)
                //個人
                UpdateStudentAttendance(ORCSSession.UserID, "0");
                //小組
                UpdateStudentAttendance(ORCSSession.TempID, "1");
                //登入成功後進入ORCS首頁
                ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "location.href='../Homepage/Homepage.aspx'", true);
            }
        }
    }
Exemple #7
0
    //由HINTS的Datamining進入ORCS系統事件
    protected void HINTSDataminingLink()
    {
        string HINTSUserID        = ""; //使用者帳號
        string HINTSUserPassword  = ""; //使用者密碼
        string HINTSUserName      = ""; //使用者姓名
        string HINTSUserAuthority = ""; //使用者身分
        string ddlClass           = ""; //使用者要觀看的Class
        string DMType             = ""; //從HINTS過來的Datamining Type

        //使用者帳號
        if (Request.QueryString["ID"] != null)
        {
            HINTSUserID = Request.QueryString["ID"];
        }
        //使用者密碼
        if (Request.QueryString["Password"] != null)
        {
            HINTSUserPassword = Request.QueryString["Password"];
        }
        //使用者姓名
        if (Request.QueryString["Name"] != null)
        {
            HINTSUserName = Request.QueryString["Name"];
        }
        //使用者身分
        if (Request.QueryString["Authority"] != null)
        {
            HINTSUserAuthority = Request.QueryString["Authority"];
        }
        //使用者要觀看的Class
        if (Request.QueryString["ddlClass"] != null)
        {
            ddlClass = Request.QueryString["ddlClass"];
        }
        //從HINTS過來的Datamining Type
        if (Request.QueryString["DMType"] != null)
        {
            DMType = Request.QueryString["DMType"];
        }
        //取得使用者資料
        DataTable dtUser = clsORCSUser.ORCS_User_SELECT_by_UserID(HINTSUserID);

        //若無此使用者則新增
        if (dtUser.Rows.Count <= 0)
        {
            clsORCSUser.ORCS_User_INSERT(HINTSUserID, HINTSUserPassword, HINTSUserName, HINTSUserAuthority);
        }
        else
        {
            if (dtUser.Rows[0]["cPassword"].ToString() != HINTSUserPassword)
            {
                clsORCSUser.ORCS_User_UPDATE_UserID_Password(HINTSUserID, HINTSUserPassword);
            }
        }
        //登入條件檢查
        DataTable dtUserInfo = clsORCSUser.ORCS_User_SELECT_by_UserID(HINTSUserID);

        ORCSSession = new ORCSSessionManager(this);
        ORCSSession.ResetSession();
        ORCSSession.IsLogin   = true;
        ORCSSession.UserID    = dtUserInfo.Rows[0]["cUserID"].ToString();
        ORCSSession.Authority = dtUserInfo.Rows[0]["cAuthority"].ToString();
        //記錄學生小組ID
        ORCSSession.TempID = clsEditGroupMember.GetGroupIDByUserIDClassID(ORCSSession.UserID, ORCSSession.GroupID);
        //登入成功後進入ORCS的Datamining
        switch (DMType)
        {
        case "IndividualAtt":    //個人出席狀況
            ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "location.href='../DataMining/PersonalAttendance.aspx'", true);
            break;

        case "ClassAtt":    //全班出席狀況
            ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "location.href='../DataMining/GroupAttendance.aspx?ddlClass=" + ddlClass + "'", true);
            break;

        case "IndividualEx":    //個人課堂練習狀況
            ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "location.href='../DataMining/PersonalExercise.aspx'", true);
            break;

        case "GroupEx":    //小組課堂練習狀況
            ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "location.href='../DataMining/TeamExercise.aspx'", true);
            break;

        case "ClassEx":    //全班課堂練習狀況
            ScriptManager.RegisterClientScriptBlock(UpdatePanel1, this.GetType(), "click", "location.href='../DataMining/GroupExercise.aspx?ddlClass=" + ddlClass + "'", true);
            break;
        }
    }