認証が必要な 1 つのページを除いて、公開 (認証なし) Web サイトがあります。それはうまくいきます。
保護されたページは、次の web.config を含むフォルダー内にあります。
<?xml version="1.0"?>
<configuration>
<system.web>
<authorization>
<allow roles="Warehouse" />
<deny users="*" />
</authorization>
<customErrors mode="RemoteOnly" defaultRedirect="../WebForbidden.aspx">
<!--<error statusCode="403" redirect="WebForbidden.aspx" />
<error statusCode="404" redirect="FileNotFound.htm" />-->
</customErrors>
</system.web>
</configuration>
そして、そのページのマスターファイルには次のものがあります。
protected void Page_Init(object sender, EventArgs e)
{
CheckLogged();
}
public bool CheckLogged()
{
bool status = false;
if (Session["Username"] == null)
{
FormsAuthentication.SignOut();
Response.Redirect("../WebForbidden.aspx");
//FormsAuthentication.RedirectToLoginPage();
}
else
{
status = true;
}
return status;
}
そして、Web サイトのルートに WebForbidden.aspx ページがあります。
現在、禁止ページを表示する代わりに、保護されたページ (認証されない限り禁止されている) に直接入力しようとすると、エラーが表示されます:The resource cannot be found
もちろん、Web サイトは存在しないログインページにリダイレクトしようとしています。
どんな助けでも大歓迎です。