0

asp.net Web サイトにログイン ページを作成する必要があります。このコードを web.config ファイルで宣言します。

    <location path="Login.aspx">
<system.web>
  <authorization>
    <allow users="*"/>
  </authorization>
</system.web>

<system.web><authentication mode="Forms">
  <forms name="MyAppCookie" loginUrl="Login.aspx" protection="All" timeout="30" defaultUrl="Managment.aspx" ></forms>

</authentication>

<authorization>
  <deny users="?"/>

</authorization><system.web>

そして、Managment.aspx に終了するためのボタンがあり、このコードを実行します。

protected void Exit_Click(object sender, EventArgs e)
{
    FormsAuthentication.SignOut();
    FormsAuthentication.RedirectToLoginPage();
}

すべて問題ありませんが、終了ボタンを使用してログアウトしようとすると、次のエラーが表示されます。

ここに画像の説明を入力 しかし、アドレスバーに指定されたアカウントフォルダーがありません! Web サイトのルートに Login.aspx ファイルしかありません。このボタン システム トランスフォーム コントロールをクリックして Login.aspx ページに直接変換することを期待していました。そうですか?この問題を解決するにはどうすればよいですか?

4

2 に答える 2

2

Login.aspxがルートフォルダーにあると仮定して、使用してみてください

loginUrl="~/Login.aspx"

チルダ表記は、現在のページではなく、Web サイトのルートに対する相対パスを作成します。

于 2014-05-30T13:57:09.827 に答える
1

login.aspx がルートに残っている場合は、試してみてください。

loginUrl="/Login.aspx"

于 2014-05-30T13:55:11.277 に答える