質問のタイトルがはっきりしないのは本当に申し訳ありませんが、私自身は少し混乱しています。
私はIISで自分のWebサイトを実行しており、その上部に現在ログインしているユーザーのユーザー名が表示されています。私のWebサイトはローカルサーバーでホストされており、さまざまなユーザーが同時にアクセスしています。
問題
ユーザーがサイトを開くたびに、最近サイトにアクセスしたばかりの前のユーザーのユーザー名が表示されます。
コード
これは、global.asaxファイルで使用しているコードです。
void Session_Start(object sender, EventArgs e)
{
// Code that runs when a new session is started
// code to get the current user name when running from IIS
System.Security.Principal.IPrincipal _User;
_User = System.Web.HttpContext.Current.User;
System.Security.Principal.IIdentity _Identity;
_Identity = _User.Identity;
string _Value;
_Value = _Identity.Name.Substring(_Identity.Name.IndexOf(@"\") + 1);
DataTable dtId = CetDatabase.GetEmployeDetails(_Value);
if (dtId.Rows.Count > 0)
{
Session["teamid"] = dtId.Rows[0]["TEAMID"].ToString();
Session["projectid"] = dtId.Rows[0]["PROJECTID"].ToString();
Session["memberid"] = dtId.Rows[0]["MEMBERID"].ToString();
CeteraQMS.Main_Master.projectname = dtId.Rows[0]["PROJECTNAME"].ToString();
CeteraQMS.Main_Master.username = _Value;
CeteraQMS.Main_Master.teamname = dtId.Rows[0]["TEAMNAME"].ToString();
Session["role"] = dtId.Rows[0]["MEMBERROLE"].ToString();
}
else
{
Response.Redirect("AccessDenied.aspx");
}
}
どこが間違っているのかわかりません。
よろしくお願いしますAkhil