Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yii2
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PSDI Army
yii2
Commits
6c2d7644
Commit
6c2d7644
authored
Dec 28, 2014
by
Nobuo Kihara
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
docs/guide-ja/rest-controllers.md - completed [ci skip]
parent
c053324b
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
34 additions
and
35 deletions
+34
-35
README.md
docs/guide-ja/README.md
+1
-1
rest-controllers.md
docs/guide-ja/rest-controllers.md
+33
-34
No files found.
docs/guide-ja/README.md
View file @
6c2d7644
...
@@ -130,7 +130,7 @@ RESTful ウェブサービス
...
@@ -130,7 +130,7 @@ RESTful ウェブサービス
*
[
クイックスタート
](
rest-quick-start.md
)
*
[
クイックスタート
](
rest-quick-start.md
)
*
[
リソース
](
rest-resources.md
)
*
[
リソース
](
rest-resources.md
)
*
**翻訳中**
[
コントローラ
](
rest-controllers.md
)
*
[
コントローラ
](
rest-controllers.md
)
*
**翻訳中**
[
ルーティング
](
rest-routing.md
)
*
**翻訳中**
[
ルーティング
](
rest-routing.md
)
*
**翻訳中**
[
レスポンスの書式設定
](
rest-response-formatting.md
)
*
**翻訳中**
[
レスポンスの書式設定
](
rest-response-formatting.md
)
*
**翻訳中**
[
認証
](
rest-authentication.md
)
*
**翻訳中**
[
認証
](
rest-authentication.md
)
...
...
docs/guide-ja/rest-controllers.md
View file @
6c2d7644
...
@@ -74,34 +74,34 @@ public function behaviors()
...
@@ -74,34 +74,34 @@ public function behaviors()
## `ActiveController` を拡張する <a name="extending-active-controller"></a>
## `ActiveController` を拡張する <a name="extending-active-controller"></a>
If your controller class extends from
[
[yii\rest\ActiveController
]
], you should set
コントローラを
[
[yii\rest\ActiveController
]
] から拡張する場合は、このコントローラを通じて提供しようとしているリソースクラスの名前を
[
[yii\rest\ActiveController::modelClass||modelClass
]
] プロパティにセットしなければなりません。
its
[
[yii\rest\ActiveController::modelClass||modelClass
]
] property to be the name of the resource class
リソースクラスは
[
[yii\db\ActiveRecord
]
] から拡張しなければなりません。
that you plan to serve through this controller. The class must extend from
[
[yii\db\ActiveRecord
]
].
###
Customizing Actions
<a name="customizing-actions"></a>
###
アクションをカスタマイズする
<a name="customizing-actions"></a>
By default,
[
[yii\rest\ActiveController
]
] provides the following actions:
デフォルトでは、
[
[yii\rest\ActiveController
]
] は次のアクションを提供します。
*
[
[yii\rest\IndexAction|index
]
]:
list resources page by page;
*
[
[yii\rest\IndexAction|index
]
]:
リソースをページごとに一覧する。
*
[
[yii\rest\ViewAction|view
]
]:
return the details of a specified resource;
*
[
[yii\rest\ViewAction|view
]
]:
指定したリソースの詳細を返す。
*
[
[yii\rest\CreateAction|create
]
]:
create a new resource;
*
[
[yii\rest\CreateAction|create
]
]:
新しいリソースを作成する。
*
[
[yii\rest\UpdateAction|update
]
]:
update an existing resource;
*
[
[yii\rest\UpdateAction|update
]
]:
既存のリソースを更新する。
*
[
[yii\rest\DeleteAction|delete
]
]:
delete the specified resource;
*
[
[yii\rest\DeleteAction|delete
]
]:
指定したりソースを削除する。
*
[
[yii\rest\OptionsAction|options
]
]:
return the supported HTTP methods.
*
[
[yii\rest\OptionsAction|options
]
]:
サポートされている HTTP メソッドを返す。
All these actions are declared through the
[
[yii\rest\ActiveController::actions()|actions()
]
] method.
これらのアクションは全て
[
[yii\rest\ActiveController::actions()|actions()
]
] メソッドによって宣言されます。
You may configure these actions or disable some of them by overriding the
`actions()`
method, like shown the following,
`actions()`
メソッドをオーバーライドすることによって、これらのアクションを構成したり、そのいくつかを無効化したりすることが出来ます。
例えば、
```
php
```
php
public
function
actions
()
public
function
actions
()
{
{
$actions
=
parent
::
actions
();
$actions
=
parent
::
actions
();
//
disable the "delete" and "create" actions
//
"delete" と "create" のアクションを無効にする
unset
(
$actions
[
'delete'
],
$actions
[
'create'
]);
unset
(
$actions
[
'delete'
],
$actions
[
'create'
]);
//
customize the data provider preparation with the "prepareDataProvider()" method
//
データプロバイダの準備を "prepareDataProvider()" メソッドでカスタマイズする
$actions
[
'index'
][
'prepareDataProvider'
]
=
[
$this
,
'prepareDataProvider'
];
$actions
[
'index'
][
'prepareDataProvider'
]
=
[
$this
,
'prepareDataProvider'
];
return
$actions
;
return
$actions
;
...
@@ -109,40 +109,39 @@ public function actions()
...
@@ -109,40 +109,39 @@ public function actions()
public
function
prepareDataProvider
()
public
function
prepareDataProvider
()
{
{
//
prepare and return a data provider for the "index" action
//
"index" アクションのためにデータプロバイダを準備して返す
}
}
```
```
Please refer to the class references for individual action classes to learn what configuration options are available.
どういう構成オプションが利用できるかを学ぶためには、個々のアクションクラスのリファレンスを参照してください。
###
Performing Access Check
<a name="performing-access-check"></a>
###
アクセスチェックを実行する
<a name="performing-access-check"></a>
When exposing resources through RESTful APIs, you often need to check if the current user has the permission
RESTful API によってリソースを公開するときには、たいてい、現在のユーザがリクエストしているリソースにアクセスしたり操作したりする許可を持っているか否かをチェックする必要があります。
to access and manipulate the requested resource(s). With
[
[yii\rest\ActiveController
]
], this can be done
これは、
[
[yii\rest\ActiveController
]
] を使う場合は、
[
[yii\rest\ActiveController::checkAccess()|checkAccess()
]
] メソッドを次のようにオーバーライドすることによって出来ます。
by overriding the
[
[yii\rest\ActiveController::checkAccess()|checkAccess()
]
] method like the following,
```
php
```
php
/**
/**
*
Checks the privilege of the current user.
*
現在のユーザの特権をチェックする。
*
*
*
This method should be overridden to check whether the current user has the privilege
*
現在のユーザが指定されたデータモデルに対して指定されたアクションを実行する特権を
*
to run the specified action against the specified data model.
*
有するか否かをチェックするためには、このメソッドをオーバーライドしなければなりません。
*
If the user does not have access, a [[ForbiddenHttpException]] should be thrown.
*
ユーザが権限をもたない場合は、[[ForbiddenHttpException]] が投げられなければなりません。
*
*
* @param string $action
the ID of the action to be executed
* @param string $action
実行されるアクションの ID。
* @param \yii\base\Model $model
the model to be accessed. If null, it means no specific model is being accessed.
* @param \yii\base\Model $model
アクセスされるモデル。null の場合は、アクセスされる特定の特定がないことを意味する。
* @param array $params
additional parameters
* @param array $params
追加のパラメータ
* @throws ForbiddenHttpException
if the user does not have access
* @throws ForbiddenHttpException
ユーザが権限をもたない場合
*/
*/
public
function
checkAccess
(
$action
,
$model
=
null
,
$params
=
[])
public
function
checkAccess
(
$action
,
$model
=
null
,
$params
=
[])
{
{
//
check if the user can access $action and $model
//
ユーザが $action と $model に対する権限を持つかどうかをチェック
//
throw ForbiddenHttpException if access should be denied
//
アクセスを拒否すべきときは ForbiddenHttpException を投げる
}
}
```
```
The
`checkAccess()`
method will be called by the default actions of
[
[yii\rest\ActiveController
]
]. If you create
`checkAccess()`
メソッドは
[
[yii\rest\ActiveController
]
] のデフォルトのアクションから呼ばれます。
new actions and also want to perform access check, you should call this method explicitly in the new actions.
新しいアクションを作成して、それに対してもアクセスチェックをしたい場合は、新しいアクションの中からこのメソッドを明示的に呼び出さなければなりません。
> Tip
: You may implement `checkAccess()` by using the [Role-Based Access Control (RBAC) component](security-authorization.md).
> Tip
|ヒント: [ロールベースアクセス制御 (RBAC) コンポーネント](security-authorization.md) を使って `checkAccess()` を実装することも可能です。
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment