私はフォーム認証を使用しており、その動作は問題ありません。しかし、user1 のログイン後、user1.aspx ページが表示されますが、ログイン後に URL を変更すると、user2 ページにもアクセスできるため、Web 構成ファイルを変更しましたこのような
<authentication mode="Forms">
<forms
name=".LOGIN"
cookieless="UseCookies"
loginUrl="LOGIN.aspx"/>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
<location path="~/CabScheduler/User1/User1.aspx">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
<location path="~/CabScheduler/User2/User2.aspx">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
</configuration>
ログインページで--
protected void btnLogin_Click(object sender, EventArgs e)
{
bool validLogin = false;
validLogin = IsValidUser(txtUserName.Text.Trim(), txtPassword.Text.Trim());
int UserId = FindRoleId(txtUserName.Text.Trim(), txtPassword.Text.Trim());
if (validLogin)
{
FormsAuthentication.RedirectFromLoginPage(txtUserName.Text.Trim(), false);
if(UserId ==1)
Response.Redirect("~/User1/User1.aspx");
else
Response.Redirect("~/User2/User2.aspx");
}
else
lblInformation.Text = "Incorrect Login Information";
}
何が足りないのか、間違っているのか教えてください。どうもありがとうございました!