課題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