11月 2013年

ASP.NET MVC で フォーム認証 の実装方法

ASP.NET MVC における、フォーム認証の実装例を掲載します。 今回は ASP.NET MVC 4 で実装しています…が、 ASP.NET MVC 3 でも似たような実装になるかと思います。 目次 概要 web.config の 設定 ログイン モデル の 作成 ログイン ビュー の 作成 ログイン 処理 の 実装 [おまけ] ログアウト

認証(Authentication) と 承認(Authorization) の違い

認証 ( Authentication ) サービス へ アクセス してきた ユーザー が 「本人であるかどうか」 を検証する。 承認 ( Authorization ) サービス へ アクセス してきた 認証済みユーザー が 「指定した リソース へ アクセスできるかどうか」 を制御する。

ASP.NET Web API の ルーティング

.sample { margin-left: 2em; border-collapse: collapse; border: 1px solid #dddddd; } .sample th { border: 1px solid #dddddd; background-color: #f5f5f5; padding: 0.5em 1em; } .sample td { border: 1px solid #dddddd; padding: 0.5em 1em; } ASP.NET Web API における、ルーティング についてまとめます。 WCF と似ているけれど、バインド方法が若干異なるので、注意が必要そうです。 目次 デフォルト設定 (デフォルト の ルーティング) ルーティ ...

ASP.NET Web API における クエリパラメーター と メッセージボディー の バインド

リクエスト時 に設定する クエリパラメーター、 メッセージボディー と、リクエストを受け取った関数の引数 がどのような関係にあるかをまとめます。 具体的には、クエリーパラメーター を 引数 へ バインド する方法と、メッセージボディー から モデルクラス へ バインド する方法 についてのまとめです。 目次 クエリパラメーター と 引数 メッセージボディー と 引数

ASP.NET Web API で DataContract の利用

データコントラクト(DataContract)を利用することで、JSON と C# で作成した クラス との間の シリアライズ、デシリアライズ を自動的に行えるようにします。 ここでは、メッセージボディー に入れられた JSONオブジェクト を C# で作成した モデルクラス へ バインド する方法について記載します。 目次 データコントラクト の実装 データコントラクト を利用した サービス の実装 テスト 実行

ASP.NET Web API で レスポンスヘッダー の設定

Web API を利用していると、簡単に レスポンスヘッダー を調整することができます。 ほとんどは HttpResponseMessage クラス の設定で処理を行います。 以下に、ケース別の具体例を掲載します。 目次 Content-Type の書き換え ステータスコード の書き換え カスタムレスポンスヘッダー Content-Type の書き換え 何も設定しない場合、application/json になるので、ここでは text/plain に設定する例を掲載します。 namespace WebService { using System.Text; using System.Web; using System.Web.Http; public class SampleContro ...

ASP.NET Web API で 独自 フィルター の実装方法

ここでは、 ASP.NET Web API において、独自フィルター を実装する方法を掲載します。 独自フィルター を実装することで、 RESTful アプリケーション内において、ある決まった処理を簡単に実装することができるようになります。 今回は サンプル として「フィルターを実装したアクション(メソッド)のレスポンスをキャッシュさせない」独自フィルターを作成します。

ASP.NET Web API チュートリアル

.monospace { font-family: monospace; } .raw { border: 1px solid #dddddd; background-color: #f5f5f5; padding: 1em 2em; } .parameter { border: 1px solid #dddddd; border-collapse: collapse; } .parameter th { border: 1px solid #dddddd; background-color: #f5f5f5; padding: 0.3em 0.5em; } .parameter td { border: 1px solid #dddddd; padding: 0.3em 0.5em; } ...