情報応用演習Ⅰ(2024)

課題09(4/4)

注意
  • 以下の設問はリアクションペーパーに「課題09」という節を設けて, 課題名の見出しを付けて 回答すること.
    • これらはすべて課題点として成績に算入される課題である

【課題9-04】認証機構の理解2

【課題9-03】のウェブアプリは 認証済みのユーザー匿名ユーザー でアクセスできる範囲が異なる.このアプリには,Fooコントローラーという コントローラーがあり,_に示す4つの アクションを有している.

Fooコントローラーの各アクションの概要とアクセス制御リスト
アクション権限GET メソッドの際のアクセス可否POST メソッドの際のアクセス可否
Index認証済みユーザーN/A
匿名ユーザーN/A
Create認証済みユーザー
匿名ユーザー××
Details認証済みユーザーN/A
匿名ユーザー×N/A
Delete認証済みユーザー
匿名ユーザー××
  • 凡例: 〇...アクセス可,×...アクセス不可,N/A...アクションはこの種類のHTTPメソッドによるアクセスを受け付けない

このFooコントローラーの概形は_のようになっている. なおSomeDataはこのコントローラーで扱うモデルクラスである.

Fooコントローラーの概形
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using Microsoft.AspNetCore.Mvc;

namespace HogeApp.Controllers
{
    public class FooController : Controller
    {
        // Indexアクション(GETのみ)
        public IActionResult Index() { /* 中身は省略 */ }
        
        // Createアクション(GET用)
        public IActionResult Create() { /* 中身は省略 */ }
        
        // Createアクション(POST用)
        [HttpPost]
        public IActionResult Create(SomeData someData) { /* 中身は省略 */ }
        
        // Detailsアクション(GETのみ)
        public IActionResult Details(int? id) { /* 中身は省略 */ }
        
        // Deleteアクション(GET用)
        public IActionResult Delete(int? id) { /* 中身は省略 */ }
        
        // Deleteアクション(POST用)
        [HttpPost]
        public IActionResult Delete(int? id, [Bind("Id")] SomeData someData) { /* 中身は省略 */ }
   }        
}

_のアクセス制御を実現するために,_に 必要な属性を書き加えよ.

Last updated on 2024-06-19
Published on 2024-06-19

Powered by Hugo. Theme by TechDoc. Designed by Thingsym.