Visual Studio 2005による Web アプリケーション入門

Slides:



Advertisements
Similar presentations
Integrated Personal Page C05823 森本万里子 C05829 西山礼恵 C05899 高木華子.
Advertisements

1 情報基礎 A 第 9 週 プログラミング入門 VBA の基本文法 1 準備・変数・データの入出力 徳山 豪・全 眞嬉 東北大学情報科学研究科 システム情報科学専攻 情報システム評価学分野.
1 安全性の高いセッション管理方 式 の Servlet への導入 東京工業大学 理学部 千葉研究室所属 99-2270-6 松沼 正浩.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也. 講義計画(あくまで予定) 第 1 回 プログラミング言語の種類と歴史 第 2 回 eclipse の基本操作 第 3 回 eclipse のデバッグ機能 第 4 回 構造化プログラミングの復習 第 5 回 演習 第 6 回 構造化指向からオブジェクト指向へ.
OWL-Sを用いたWebアプリケーションの検査と生成
Internet Explorer v7,v8 の主な機能
Web アプリをユーザー毎に カスタマイズ可能にする AOP フレームワーク
Microsoft Office 2010 クイックガイド ~OneNote編~
ASP入門 - Windows 2000 Server 活用 -.
IIS 4.0で開発をするコツ Webアプリケーション構築.
D&UNITE 株式会社 代表取締役 株式会社 T-Planning 取締役 Microsoft MVP for ASP.NET/IIS
MSON-B2 .NET Framework Web アプリケーション開発
情報処理実習 第05回 Excelマクロ機能入門 操作マクロ入門.
ブラウザの基本操作 前のページに戻る ブラウザの左上にある 「戻る」ボタンで、自分がたどってきた一つ前のページに戻ることができます。
JPAを利用した RESTful Webサービスの開発
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
Visual Studio 2005による XML Web サービス入門
Lync 会議 Lync 会議に参加する Lync 2013 クイック リファレンス Lync 会議のスケジュール
名古屋大学大学院人間情報学研究科 物質生命情報学専攻 情報処理論講座 原 崇
Win32APIとMFC H107102 古田雅基 H107048 佐藤一樹 H107126 山下洋平.
Twitterクライアントに学ぶASP.NETアプリ
エンタープライズアプリケーション II 第10回 / 2006年7月23日
情報理工学部 情報システム工学科 ラシキアゼミ3年 H 岡田 貴大
コンポーネントの再利用に必要な情報 えムナウ (児玉宏之)
コンポーネントの再利用に必要な情報 えムナウ (児玉宏之)
マルチエージェント・シミュレーション(2)
マルチエージェント・シミュレーション(2)
JavaServlet&JSP入門 01K0018 中村太一.
Vulnerability of Cross-Site Scripting
F5 を押すか、または [スライド ショー] > [最初から] をクリックして、コースを開始してください。
Visual Studio LightSwitchの概要
はじめてのASP.NET 楽しいアプリ制作の会 #1 TWorks.
アプリケーション共有機能 〈参考〉 (図1) (図2)
JSFによるWebアプリケーション開発 第6回
[コース: A1] .NET Framework の基礎
Live Framework 入門 その2 JZ5(松江) 2009/8/22.
Microsoft® Office Access® 2007 トレーニング
サーバー立ち上げ記 2009/5/23
.NET テクノロジー を利用した SAP ソリューションの拡張 (3階層化) (評価環境構築ガイド)
データベース設計 第9回 Webインタフェースの作成(1)
マイクロソフト Access を使ってみよう 第4回
Microsoft Office 2010 クイックガイド ~OneNote編~
第8章 Web技術とセキュリティ   岡本 好未.
Excel 2002,2003基本14 テンプレートを作る.
Visual Studio 2005による スマート クライアント入門
MVP for VB が語る C# 入門 初音 玲.
MVP for VB が語る C# 入門 初音 玲.
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
.NET Framework 3.0 概要 (旧称 : WinFX)
データベースアクセス技術 ADO.NET 2.0 開発者カテゴリ ◆NOTES◆
仕事: SystemVerilogを使いたい
制作技術ー3 双方向通信 : CGIシステムと環境変数
単語登録(1) ◎MS-IMEの「単語登録」に、単語、語句、記号など自分がよく使うものを登録しておくと、便利である。
Web - 01 IIS を インストールしよう.
COM コンポーネント・オブジェクト・モデル.
Twitterクライアントに学ぶASP.NETアプリ
オブジェクト指向 プログラミング 第二回 知能情報学部 新田直也.
JSFによるWebアプリケーション開発 第3回
情報コミュニケーション入門b 第11回 Web入門(2)
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
プログラミング言語論 第六回 理工学部 情報システム工学科 新田直也.
表計算ソフトを使って 万年カレンダーを作ろう!
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
情報基礎演習I(プログラミング) 第8回 6月8日 水曜5限 江草由佳
Microsoft SharePoint Online の Web サイトを カスタマイズする方法
Microsoft® Office® 2010 トレーニング
プログラミング基礎a 第9回 Java言語による図形処理入門(1) Javaアプレット入門
Microsoft Office Project Server 2007
VPNクライアント接続 サーバー保守のための安全な経路+作業者単位のアクセス制御 簡単な図 (網羅性より象徴性)
オブジェクト指向言語論 第六回 知能情報学部 新田直也.
Presentation transcript:

Visual Studio 2005による Web アプリケーション入門 開発者カテゴリ Visual Studio 2005による Web アプリケーション入門 ◆NOTES◆ PowerPoint のノート部分には、講師がセミナーを進める上での留意点を記載しています。 また、ノート部分の「◆90分ダイジェスト vs 半日コース」という欄には、今回の 90分ダイジェストコースと、このコースの元になった半日コースとの、おおよその差分が記述してあります。 この差分記述は、90分コースでのだいたいの深さの目安として掲載したものであって、実際の講習では、厳密にこの記載に基づいて、講習範囲を限定する必要はないでしょう。もし、90分コースを開いた際に、時間が余った場合は、この差分の部分を追加説明するなど、補足説明の指針にすればよいと思います。

アジェンダ Webアプリケーション開発:ASP.NET の基礎 サーバー コントロール セッション管理  アジェンダ Webアプリケーション開発:ASP.NET の基礎 基本的な環境、Visual Studio .NET での開発 サーバー コントロール 基礎、サーバー イベント処理、ビュー ステート セッション管理 認証 (authentication) と承認 (authorization)

ASP.NET ASP.NETとは ? Webアプリケーション向けアーキテクチャ Web フォーム、XML Web サービス サーバーサイドアプリケーション IIS(Internet Information Service) + .NET Framework 実行時は、JITコンパイルによってネイティブコードとして実行 従来の ASPのバージョンアップ以上のもの 開発生産性の高いプログラミングモデル C#やVB .NETなど、オブジェクト指向プログラミング言語が使用可能 HTTPやHTML、XMLなどのネットワーク上の実装を意識させない IIS .NET Framework Windows 2000 ~

HTML、ASP.NET 固有タグ VB.NET、C# など  Web フォーム Web フォームとは ? 拡張子 .aspx のファイル サーバーで実行され、ブラウザに対して HTML ベースのユーザー インターフェイスを提供する ブラウザから HTTP を使って、A.aspx を要求すると、Web サーバー (IIS + ASP.NET ランタイム) は A.aspx 中に記述された処理を実行する 処理結果として、HTML をクライアントに返信する http://srv/app/A.aspx A.aspx HTML、ASP.NET 固有タグ VB.NET、C# など 実行 ブラウザ HTML IIS アプリケーション (仮想ディレクトリ)

Visual Studio 2005 による開発 1/4 ASP.NET Web アプリケーション用のテンプレート

Visual Studio 2005 による開発 2/4 + Web サイト ソリューションを作成 IIS上の仮想ディレクトリとして作成することも可能 デバッグ、実行に IIS 環境を直接使用 任意のファイル システム上に作成 デバッグ、実行に ASP.NET 開発サーバーを使用 ソリューションを作成 作業の開始はソリューション ファイルを開き、終了はソリューションを閉じる Default.aspx Default.aspx.vb Web.config ... WebSite1.sln + ソリューション ファイル Web サイト用のフォルダ

Visual Studio 2005 による開発 3/4 ソリューション エクスプローラ Web フォーム デザイナ プロパティ ウィンドウ ① コードエディタを表示 ② デザイナを表示 ソリューション エクスプローラ Web フォーム デザイナ ③ デザインビュー ④ ソース ビュー プロパティ ウィンドウ

Web フォームのファイル構成 ユーザー インターフェイスと制御ロジックの分離 Page1.aspx Page1.aspx.vb <%@ Page Language="VB" CodeFile="Page1.aspx.vb" Inherits="Page1" %> <html xmlns="http://www.w3.org/1999/xhtml" > <body> <form id="form1" runat="server"> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Button ID="Button1" runat="server" Text="OK" /><br /> ... </form> </body> </html> Page1.aspx Partial Class Page1 Inherits System.Web.UI.Page Protected Sub Button1_Click( ... ) Handles Button1.Click Label1.Text = TextBox1.Text + " さん、こんにちは" End Sub End Class Page1.aspx.vb

アジェンダ ASP.NET の基礎 サーバー コントロール セッション管理  アジェンダ ASP.NET の基礎 基本的な環境、Visual Studio .NET での開発 サーバー コントロール 基礎、サーバー イベント処理、ビュー ステート セッション管理 認証 (authentication) と承認 (authorization)

ASP.NET サーバー コントロール ASP.NETサーバーコントロールとは ? サーバー上で実行される Webフォームの構成部品 画面を構成する HTMLをカプセル化 適切な HTMLを自動的に出力 ほとんど HTMLを意識せず、コード上はオブジェクトとして操作できる サーバイベント処理(後述) ビューステートの自動的な管理(後述) Webサーバー http://srv/app/Page1.aspx <%@ Page ... %> <asp:ListBox id="ListBox1" runat="server"></asp:ListBox> (Instructor's notes) ◆90分ダイジェスト vs 半日コース 半日コースでは、サーバーコントロールに Web サーバーコントロールと HTML サーバーコントロールの二種類ある点に言及しています。 実行 HTML ブラウザ ListBox1.Items.Add("Tokyo"); ListBox1.Items.Add("Nagoya"); ListBox1.Items.Add("Osaka"); <select name="ListBox1" ...> <option value="~">~</option> <option value="~">~</option> ...

サーバーイベント処理 サーバーイベント処理とは ? ブラウザで起きたイベントはサーバーサイドで処理 ポストバック イベントとも呼ばれる  サーバーイベント処理 サーバーイベント処理とは ? ブラウザで起きたイベントはサーバーサイドで処理 ブラウザ上は HTMLベースの Webページ イベントハンドラはサーバー上のコードに実装 ポストバック イベントとも呼ばれる サーバーへのイベント通知は、同一ページへのポスト(HTTP-POST) ブラウザ Webサーバー URL欄で指定 <%@ Page ... %> <asp:Button id="Button1" runat="server"></asp:Button> (Instructor's notes) ◆90分ダイジェスト vs 半日コース 半日コースでは、イベントを3種類に分類し(アクション関連、更新関連、マウス移動関連)、ASP.NET でのそれぞれの扱い方について触れています。 ポストバック private void Button1_Click(...) { //OKボタンが押されたら実行 } 実行 HTML

<input type="hidden" name="__VIEWSTATE" value= ~  ビューステートとは ビューステートとは ? サーバー コントロールの状態を自動的に管理する仕組み 隠しフィールドを利用してブラウザ上の HTML内に状態を保持 自動的にラウンドトリップする プログラマが任意のデータを格納できる ステート Dim n As Integer n = CInt(Label1.Text) n = n + 1 Label1.Text = CStr(n) (Instructor's notes) ◆90分ダイジェスト vs 半日コース 半日コースでは、ビューステートに独自のデータを退避するコード例も紹介しています。 ステート Webサーバー ラベル表示、色、フォントサイズ、etc ... <input type="hidden" name="__VIEWSTATE" value= ~

アジェンダ Webアプリケーション開発:ASP.NET の基礎 サーバー コントロール セッション管理  アジェンダ Webアプリケーション開発:ASP.NET の基礎 基本的な環境、Visual Studio .NET での開発 サーバー コントロール 基礎、サーバー イベント処理、ビュー ステート セッション管理 認証 (authentication) と承認 (authorization)

セッション セッションとは? ASP.NETのおけるセッション 一人のユーザーがサーバーにアクセスするときの連続的な操作の管理単位  セッション セッションとは? 一人のユーザーがサーバーにアクセスするときの連続的な操作の管理単位 ASP.NETのおけるセッション Cookie内、またはクエリ文字列に、一意のセッションIDを送り、同一ユーザーセッションを識別 Pageクラスの Sessionプロパティでセッション単位の状態管理が可能 セッションID Cookie (Instructor's notes) ◆90分ダイジェスト vs 半日コース 半日コースでは、セッションの情報の退避方法のオプション (インプロセス、ステートサービス、SQL Server)があることに言及しています。 同一セッションにおける HTTP要求であることを ASP.NET は認識する Webサーバー セッションID Cookie

アジェンダ Webアプリケーション開発:ASP.NET の基礎 サーバー コントロール セッション管理  アジェンダ Webアプリケーション開発:ASP.NET の基礎 基本的な環境、Visual Studio .NET での開発 サーバー コントロール 基礎、サーバー イベント処理、ビュー ステート セッション管理 認証 (authentication) と承認 (authorization)

ASP.NETセキュリティの位置付け ASP.NETセキュリティの位置付け ブラウザ IIS ASP.NET .NET Framework 認証(匿名、基本、Windows、etc...) IPなどの制限、ポート番号、SSL、etc... Webサーバー IIS ASP.NETにアクセスるすには、 IISを通過する必要がある ISAPI Dll 認証(Windows、Passport、フォーム) 独自の承認(アクセス制御) ASP.NET コード アクセス セキュリティ ロール ベース セキュリティ .NET Framework 共通言語ランタイム

フォーム認証 (続き) ~ VS2005 Login コントロールの特徴 フォーム認証のログインで使用する標準的な UI 認証ロジックも実装 Visual Studio 2005 ではドラッグ アンド ドロップして貼り付けるだけ 認証ロジックも実装 ユーザー検証やログインに関連する処理のコードは不要 カスタマイズ可能な UI と振る舞い <%@ Page Theme="BasicBlue" %> <html> <body> <form runat="server"> <asp:Login RunAt="server" /> </form> </body> </html> (Instructor's notes) ◆90分ダイジェスト vs 半日コース ここでは、ASP.NET の代表的な認証方法であるフォーム認証について、それが簡単に実装できる点にふれます。 半日コースでは、Windows 認証とフォーム認証の違い、また、.NET Framework 1.x でのフォーム認証の実装方法などを紹介しています。

 フォーム認証 (続き) ~ VS2005 Web サイト管理ツールによる管理 認証モードの指定 ユーザー情報の管理、etc...

URL承認の構成 <authorization>要素 認証手続きよりも後のセキュリティ評価過程 <configuration> <system.web> <authorization> <allow users="taro, jiro, redmond\goro" /> <allow roles="managers" /> <deny users="*" /> </authorization> </system.web> <location path="staff"> <!--特定フォルダへの保護 --> <allow users="admin" /> </location> </configuration>

Next Step !!! ASP.NET 2.0 の新機能 「データ ソース コントロール」による新しいデータ連結 「テーマ」と「スキン」による新しいユーザー インターフェイス 「Login コントロール」等、関連する新しいコントロール 「メンバシップ サービス」による新しいユーザー管理 「ロール管理サービス」による新しいロール管理 「プロファイル」による新しい個人環境設定の管理 「プロバイダ モデル」による保存用ストレージの拡張 「サイト ナビゲーション」機能によるメニューの新しい構築方法 「Web パーツ」用フレームワークの標準装備 「クロス ページ ポスティング」 各コントロールの機能強化 etc... (Instructor's notes) .NET Framework 2.0 では、特に ASP.NET 2.0 に新機能が多く、これらは今後何を習得したらよいかの目安として挙げておきます。(半日コースでも、これらの詳細は説明していません。)