3 つの .ASPX ページがあります。彼らです
`Login.aspx`
`Agent.aspx` and
`Scheduler.aspx`
ユーザーが資格情報を入力すると、ロールに基づいて、ログイン ページから Agent.aspx または Scheduler.aspx にリダイレクトされます。for each ページ内Page_Load()
で、ユーザーの役割を再度確認します。条件が一致しない場合は、Login.aspx にリダイレクトされます。
は、次のPage_Load()
ようにナビゲートすると呼び出されます。
ログイン -> エージェント エージェント ページからログアウトすると、ログイン ページにリダイレクトされますが、エージェント ページの URl を入力するとPage_Load()
、Agent.aspx の内部が読み込まれません。間違いは何ですか?
ログインページ aspx ------
public partial class LOGIN : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
txtUserName.Focus();
}
protected void btnLogin_Click(object sender, EventArgs e)
{
bool validLogin = false;
LoginHandler loginhandler = new LoginHandler();
validLogin = loginhandler.IsValidUser(txtUserName.Text.Trim(), txtPassword.Text.Trim());
int RoleId = loginhandler.FindRoleId(txtUserName.Text.Trim(), txtPassword.Text.Trim());
if (validLogin)
{
FormsAuthentication.RedirectFromLoginPage(txtUserName.Text.Trim(), false);
if (RoleId == 1)
Response.Redirect(Constant.GoToAgentView);
if (RoleId == 2)
Response.Redirect(Constant.GoToSchedulerView);
}
else
Server.Transfer(Constant.GoLoginPage);
}
}
エージェント aspx---
public partial class Agent : System.Web.UI.Page
{
CSBuss.Agent.AgentHandler agent = new CSBuss.Agent.AgentHandler();
LoginHandler login = new LoginHandler();
protected void Page_Load(object sender, EventArgs e)
{
string rolename = login.FindRoleName(User.Identity.Name);
if (string.Compare(rolename, "Agent", false) == 0)
{
SuccessPanel.Visible = false;
DisplayPanel.Visible = true;
txtName.Focus();
if (!IsPostBack)
{
DropDownList1.DataSource = agent.GetCabType();
DropDownList1.DataTextField = Constant.DisplayCabType; // CabType to be displayed in the list items
DropDownList1.DataValueField = Constant.DisplayCabID; // CabId of the items displayed
DropDownList1.DataBind();
}
}
else
Server.Transfer(Constant.GoLoginPage);
}
}
PS : Web.config ファイルで Enableoutputcaching を false に設定し、Identity Impersonate を false に設定しました