2

すべてのページへのアクセスを制限する必要がある Umbraco で構築されたサイト全体があります。唯一の例外は、ランディング ページとログアウト確認ページです。

サインインしたユーザーのみにアクセスを制限するには、web.config に次のように記述します。

<deny users="?"/>

次に、ログアウト確認ページで匿名ユーザーを許可するために、LoggedOut コントローラー メソッドの先頭に次の属性があります。

[Umbraco.Web.WebApi.MemberAuthorize(AllowAll = true)]
public ActionResult LoggedOut()
{
    var viewModel = new LogoutSuccessViewModel();
    viewModel.Message = "Hello";
    return View("LogoutSuccess", viewModel);
}

より標準的な MVC の使用方法も試しました。

[AllowAnonymous]

いずれにせよ、ログアウトに成功すると、アプリケーションはログアウトの確認に転送し、それを確認するにはログインする必要があるため、再度ログイン ページに転送されます。:(

匿名ユーザーを許可するにはどうすればよいですか?

4

1 に答える 1

3

あなたは<deny users="?"/>あなたのweb.configファイルにあります。つまり、匿名ユーザーはアプリケーションにアクセスできません。したがって、もちろん[AllowAnonymous]機能しません。

web.config次のように、ファイル内のログアウト パスへの匿名アクセスを許可する必要があります。

<configuration>
   <location path="Path to your LoggedOut Action">
      <system.web>
         <authorization>
            <allow users="?"/>
         </authorization>
      </system.web>
   </location>
</configuration>

しかし、なぜログアウト ページへの匿名アクセスを許可したいのでしょうか。それは意味がありません。

于 2013-08-26T19:54:23.620 に答える