ASP.NET で認証に関する オブジェクト をクラス図に書き出してみました。
後半では、認証に関するオブジェクトのちょっとした使い方を記載しています。
目次
認証に関するオブジェクトのクラス図
認証されたかどうかを検出する
認証されたことを登録する
ラベル WCF の投稿を表示しています。 すべての投稿を表示
WCF Web サービス に JSON オブジェクト を 渡す 方法
WCFサービスで、JSONオブジェクト を POST で渡す方法を記載します。
WCFサービスで RESTful なサービスを作成しようとすると、JSON を POST したいケースが出てきます。
ここでは、POST された JSONオブジェクト を受け取れるサービスの実装例を記載します。
POST 以外の PUT、DELETE なども、 Method を変更することで実装ができます。
また、どのようなリクエストを行うかも合わせて記載します。
Akinari Tsugo
16:07
ASP.NET,
C#,
WCF
WCF Web サービス に 数値 を 渡す 方法
WCFサービスにおいて、文字列でない int や long を サービス の パラメター(引数) に渡す方法を記載します。
インターフェースでは WebGet や WebInvoke を利用し、その中で UriTemplate を指定します。
この UriTemplate 中にでてくる Uri 変数 は基本的に string として解決されます。
数値(int、long)に変換するためには、クエリパラメターとして渡すと数値に変換できるようです。
以下にクエリパラメターを指定して数値を引き渡すサンプルコードおよびテストリクエストを掲載します。
Akinari Tsugo
16:07
ASP.NET,
C#,
WCF
ASP.NET の IHttpModule の 実装 と 利用
ASP.NET アプリケーション に対して モジュール化 された複雑な機能、処理を提供したい場合、 IHttpModule を利用すると便利です。
例えば、複数に分散してしまったアプリケーションに対して、ある決まった認証処理を実装させたいとき、簡単に機能を提供することが可能になります。
ここでは、認証されていないユーザーがアクセスしてきたとき、別のサイトへ転送させる機能を提供する HttpModule を作成します。
目次
概要
IHttpModule の 実装
IHttpModule の 利用
Akinari Tsugo
19:04
ASP.NET,
C#,
MVC,
WCF,
Web API
ASP.NET で 独自認証処理 を 実装 する 方法
フォーム認証でも、Windows認証でもなく、完全に独自の認証方法を行う場合、どのような実装を行うかのサンプルを掲載します。
シングルサインオン を実装するような ケース を想定した実装例です。
実装が web.config や Global.asax なので、ASP.NET MVC、WCF等で有効な実装方法になるハズです(試したのは ASP.NET MVC4 のみ)。
目次
概要
web.config の設定
Global.asax の実装
ソースコード
GitHub - garafu / samplecode_mockSSO
ダウンロード zip
Akinari Tsugo
1:53
ASP.NET,
C#,
MVC,
WCF
machineKey の 生成ツール
.tbl {
border-collapse: collapse;
}
.tbl th, .tbl td {
border: 1px solid #dddddd;
padding: 0.3em 0.8em;
}
.tbl th {
background-color: #f5f5f5;
}
.tablealg {
width: 12em;
}
.tabledata {
text-align: center;
}
ASP.NET で開発をしていると、 web.config に machineKey を設定できます。
複数のサーバーにおいて、同じ認証結果を利用したい場合(DNSラウンドロビン等)、各サーバーにおいて共通の machineKey を設定することで、1度の認証で他のサーバーにアクセスできるようなことを実現できます。
この machineKey 、 ...
Akinari Tsugo
18:29
ASP.NET,
C#,
MVC,
WCF,
Web API
WCF Web サービス における レスポンスヘッダー の設定方法
WCF を 用いて RESTful サービス を作成していると、HTTP レスポンス ヘッダー を任意に変更 ── 場合によっては カスタムヘッダー を追加 ── することで、
クライアント側の処理を対応しやすくしたい場合があるかと思います。
ここでは、HTTP レスポンス ヘッダー を変更する サンプルコード を記載します。
基本的には OutgoingWebResponseContext クラス を利用することで レスポンスヘッダー を変更できるようです。
※ WCF を 用いた RESTful サービス の構築方法 は こちら。
Content-Type の 書き換え
ステータス の 書き換え
カスタムヘッダー の 追記
Akinari Tsugo
21:13
ASP.NET,
C#,
HTML,
JavaScript,
WCF
クロスドメイン制約 を JSONP で 回避 (WCF + jQuery)
クロスドメイン制約 を 回避 する サーバー実装 を WCF サービス を用いて JSONP で実現します。
クロスドメイン通信 を実現するには "サーバー側" と "クライアント側" の2カ所に対して手を入れる必要があるかどうか考えます。
ここでは、"サーバー側" に手を加えて クロスドメイン通信 を実現する方法を載せます。
具体的には、JSONP形式 で レスポンス を返せるようにすることで、jQuery 等 で クロスドメイン通信 を行えるようにします。
今回は、WCF サービス を利用しての実装を行います。
サーバーサイド (WCF サービス)
クライアントサイド (jQuery)
※ WCF サービス で JSONP に対応した サービス を実装した場合、コールバック関数名 を指定する パラメター は callback になるようです。 ...
Akinari Tsugo
21:48
C#,
jQuery,
WCF,
クロスドメイン通信
WCF を利用した RESTful Web サービス の 作成
.checked {
background: url('https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiagX8RLPKkTSVDoEkioLJfC1fWye1WMynuRz0evwcfNw9aip5NW7GpjsbkpKp_0_TlBtv5zxgkbVXZrp-TEEIAFRrINBoNhUGw2BnODqzpR6fhWGuTeuDNxBM4dDQqZRisgfIuIKWPHBY/s1600/checked.png') center center no-repeat;
width: 15px; height: 15px;
display: inline-block;
}
.unchecked {
background: url('https://blogger.googleus ...
Akinari Tsugo
0:11
ASP.NET,
C#,
Visual Studio,
WCF