ログイン[Authorize]
しているユーザーだけがアクセスする各アクションを上書きします。これをコントローラーレベルで実行して、コントローラー内のすべてのアクションを保護することもできます。おそらく、ゲストに対してすべてのページを無効にするだけなので、後者がおそらく最適です。
クラスレベルのものは次のようになります。
[Authorize]
public class SomethingController
{
//...
}
これがアクションレベルのものです:
public class SomethingController
{
[Authorize]
public ActionResult SomeAction(Parameter someParameter)
{
//...
}
}
すべてまたはほとんどのページが同じマスターページを使用している場合、それを行う別の方法は次のようになります。
<script type="text/javascript>
@if(!Request.IsAuthenticated) {
window.location.href = redirectURL;
}
</script>
または、かみそりの構文を使用していない場合は、
<script type="text/javascript>
<% if(!Request.IsAuthenticated) { %>
window.location.href = redirectURL;
<% } %>
</script>
マスターページで。そうすれば、ユーザーがログインしていない場合、そのマスターページを使用するすべてのページが別の場所にリダイレクトされます。ただし、これは、組み込みの認証を使用している場合にのみ適用されます。 注:このオプションは、最初のオプションよりもはるかに安全性が低くなります。これは、サイトのセキュリティが大きな問題ではない場合にのみ使用してください