0

Web アプリケーションを作成し、IIS (6.1) にアップロードしましたが、IIS にアップロードしたため、問題に直面しています。アプリケーションでは、ユーザーの認証は AD (Active Directory) グループを通じて行われます。ユーザー「A」がアプリケーションにログインすると正常に動作し、ホームページに「Welcome User : A」のようなウェルカム メッセージが表示されますが、ユーザー「B」がアプリケーションにログインすると問題が発生します。ユーザー「B」がログインし、ユーザー「A」がページを更新すると、ユーザー「A」のホームページに「Welcome User : B」のようなウェルカム メッセージが表示されます。両方のユーザーが物理的に異なるマシン上にあることに注意してください。

誰でもその問題で私を助けることができますか?

これが私のコードです: ログインページが読み込まれると、次のコードが実行されます:

protected void Page_Load(object sender, EventArgs e)
    {            
        _txtPassword.Focus();
        lb_errormsg.Visible = false;
        try
        {

            if (!Page.IsPostBack)
            {
                LogHelper.Logger.Info("Load Login Page.");
                LogHelper.Logger.Info("Get Employee ID and Domain into Variables.");
                _txtUserid.Text = User.Identity.Name;
                string[] str = _txtUserid.Text.Replace(@"\", "-").Split('-');
                configureUser.EmpID = str[1];
                configureUser.EmpDomain = str[0];

         LogHelper.Logger.Info("Set Employee ID and Domain into variables complete.");

                LogHelper.Logger.Info("Try to Get ConnectionString.");
                //Set Connection String...
                con_string.Connectionstring = con_string.GetConnectionString();
                LogHelper.Logger.Info("Get ConnectionString complete.");
            }

        }
        catch (Exception ex)
        {

        }
    }

ページの読み込み時に、テキスト ボックスに従業員 ID が自動的に入力され、ユーザーにパスワードを要求します。「configureUser.EmpID」変数に従業員 ID を設定しました。

public void _FillStartUpInformation()
{
    LogHelper.Logger.Info("Attempt to fill list of BU's");
        // Fill Workstream DataTable...
        configureUser.BUDT = businessUser.CPOGetBUs(con_string.Connectionstring);
        LogHelper.Logger.Info("Fill list of BU's successfully.");

    LogHelper.Logger.Info("Attempt to fill Employee Datatable.");
        // Fill Employee DataTable..
        configureUser.EmployeeDT 
       = businessUser.CPOGetAllEmployees(con_string.Connectionstring);
        LogHelper.Logger.Info("Fill Employee Datatable successfully.");

        LogHelper.Logger.Info("Attempt to fill employee details into variables.");
        // Fill Employee Details Into Variables...
        DataRow[] dr 
        = configureUser.EmployeeDT.Select("EmpID = '" + configureUser.EmpID + "'");

        configureUser.BU 
        = configureUser.BUDT.Select
        ("BUID = '" + dr[0]["BU"].ToString() + "'")[0]["BU"].ToString();

        configureUser.EmpName = dr[0]["EmpName"].ToString();
        configureUser.Email = dr[0]["EmailID"].ToString();
        if (dr[0]["OBU"].ToString().Contains(','))
        {
         configureUser.EmpOBU = new string[dr[0]["OBU"].ToString().Split(',').Count()];
            configureUser.EmpOBU = dr[0]["OBU"].ToString().Split(',');
        }
        else
        {
            configureUser.EmpOBU = new string[1];
            configureUser.EmpOBU[0] = dr[0]["OBU"].ToString();
        }
        configureUser.ManagerName = dr[0]["ManagersName"].ToString();

        configureUser.ManagerEmail 
        = configureUser.EmployeeDT.Select
        ("EmpName = '" + configureUser.ManagerName + "'")[0]["EmailID"].ToString();

        configureUser.BUID = dr[0]["BU"].ToString();
        configureUser.IsReviewer = Convert.ToBoolean(dr[0]["Reviewer"]);

        LogHelper.Logger.Info("Fill employee details into variables completed.");

        LogHelper.Logger.Info("Attempt to fill OBU Datatable.");
        // Fill Subteam DataTable...
        configureUser.OBUDT 
        = businessUser.CPOGetOBUs(con_string.Connectionstring, configureUser.BUID);
        LogHelper.Logger.Info("Fill OBU Datatable completed.");


        LogHelper.Logger.Info("Attempt to fill Product Datatable.");
        // Fill Product DataTable...
        configureUser.ProductDT 
        = businessUser.CPOGetProducts(con_string.Connectionstring, configureUser.BUID);
        LogHelper.Logger.Info("Fill Product Datatable completed.");

        LogHelper.Logger.Info("Attempt to fill Checkpoints definition Datatable.");
        //Fill Checkpoints Definitions....
        configureUser.CheckpointsDefinition 
        = businessUser.CPOGet_QCCheckPoints_Definition(con_string.Connectionstring);
        LogHelper.Logger.Info("Fill Checkpoints definition Datatable completed.");

        LogHelper.Logger.Info("Attempt to fill Process Datatable.");
        // Fill Process DataTable...
        configureUser.ProcessDT 
       = businessUser.CPOGetProcesses(con_string.Connectionstring, configureUser.BUID);
        LogHelper.Logger.Info("Fill Process Datatable completed.");

        LogHelper.Logger.Info("Attempt to fill Process Hierarchy Datatable.");
        // Fill Process Hierarchy Details...
        configureUser.ProcessHierarchyDT 
        = businessUser.CPOGetProcessHierarchy
        (con_string.Connectionstring, configureUser.BUID);
        LogHelper.Logger.Info("Datatable filled successfully.");


}

認証後、アプリケーション全体で使用されるすべての共通データを、静的タイプの DataTables と Variables に入力します。

4

0 に答える 0