ASP.NET Forms認証
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-戻る
--[[ASP.NET]]
--[[認証基盤]]
* 目次 [#j2f5dc70]
#contents
*概要 [#c361fa3a]
-Forms認証とは、Formにユーザアカウント情報を入力してWeb/A...
-ASP.NET Forms認証は、ASP.NETでForms認証を実装するための...
-[[ASP.NET Identity]]では、非常に沢山のことを覚え、実装を...
僅か、下記の実装のみで暗号化された[[Cookie認証チケット>認...
ASP.NETアプリケーションの認証基盤として利用される機会が多...
**[[Web.config>#nf687ad7]]上の設定 [#g2cf44db]
<authentication mode="Forms">
<forms name="formauth"
loginUrl="(ログイン画面のURL)"
defaultUrl="(メニュー画面のURL)"
protection="All"
timeout="60"
path="/"
requireSSL="false"
slidingExpiration="true"
enableCrossAppRedirects="false"
cookieless="UseDeviceProfile" domain="">
</forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
※ [[Web.config>#nf687ad7]](authenticationタグのtimeout属...
**ログイン画面と認証ロジック [#o6ed7c82]
***ログイン画面 [#x86ae883]
#ref(LoginScreen(aspx).png,left,nowrap,ログイン画面(*.as...
***認証ロジック(C#の場合) [#h4cb8c7e]
認証ロジック(コードビハインド)
protected void Button1_Click(object sender, EventArgs e)
{
// ユーザ名、パスワードを取得。
string userName = this.TextBox1.Text
string passWord = this.TextBox2.Text
// 任意の認証ロジック(userName、passWordからユーザ...
// 認証か完了した場合、認証チケットを生成し、元のペ...
// 第2引数は、クライアントがCookieを永続化(ファイ...
// を設定する引数であるが、セキュリティを考慮して、f...
FormsAuthentication.RedirectFromLoginPage(userName, ...
}
*詳細 [#yd85d9d5]
**クロスサイト設定 [#ec5ec34c]
***1 つのサーバ上 or Web ファーム内のアプリケーション間 [...
machine keyと[[Cookie認証チケット>認証基盤#la8f4c73]]のco...
-Web ファームの認証のベスト プラクティス~
https://msdn.microsoft.com/ja-jp/library/cc419744.aspx
-アプリケーション間のフォーム認証~
https://msdn.microsoft.com/ja-jp/library/eb0zx8fc.aspx
***同一ドメインのサイト間での利用 [#se3beab8]
上記に加え、enableCrossAppRedirects要素をtrueに設定するこ...
ASP.NET2.0からWebサイト間のシングル サイン オンも可能にな...
-MSDNライブラリ > .NET Frameworkの全般リファレンス > auth...
http://msdn.microsoft.com/ja-jp/library/1d3t3c61.aspx
-Sharing Authentication Cookie between two ASP.NET Applic...
http://www.codeproject.com/Tips/438319/Sharing-Authentica...
**コンテンツごとの制御 [#lc5db7f2]
***静的コンテンツへの適用 [#za9ab06e]
また、Forms認証はASP.NETの認証基盤機能であるため、~
動的コンテンツ(aspx)以外に利用できないと思われがちだが、~
下記のような設定によって静的コンテンツにも適用できるよう...
-@IT > .NET TIPS > [ASP.NET].htmlや.pdfファイルをフォー...
http://www.atmarkit.co.jp/fdotnet/dotnettips/114iisrelate...
ただし、IIS6.0では、[[Web.config>#nf687ad7]]ファイルに以...
<httpHandlers>
<add verb="*" path="*.pdf" type="System.Web.StaticFile...
<add verb="*" path="*.html" type="System.Web.StaticFil...
</httpHandlers>
※ 拡張子ごとに、addタグを追加する。
-MSDNライブラリ > .NET Frameworkの全般リファレンス > http...
http://msdn.microsoft.com/ja-jp/library/bya7fh0a.aspx
***一部コンテンツを認証対象外に設定する。 [#be337e83]
以下の設定で認証対象外に設定できる(フォルダやファイル単...
<!-- Framework ファイルを認証対象外にする -->
<location path="Framework/Img">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<location path="Framework/Js">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<location path="common">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
-location 要素 (ASP.NET 設定スキーマ)~
https://msdn.microsoft.com/ja-jp/library/b6x6shw7.aspx
**クロスサイト、クロスドメイン [#zf3414e4]
***クロスサイト [#f78e2582]
ASP.NETのForms認証では、[[Cookie認証チケット>認証基盤#la8...
***クロスドメイン [#pa9838fa]
-しかし、クロスドメインでの[[Cookie認証チケット>認証基盤#...
-クロスドメイン間のサイトで、テンポラリの認証情報をQueryS...
連携先サイトで、別途Forms認証の[[Cookie認証チケット>認証...
-しかし、小手先の実装だし、要件に合わないようなら、個別に
--「[[統合認証基盤型>認証基盤#bcd2a481]]」の認証基盤製品...
--「[[クレームベース認証>認証基盤#if326ed5]]」のサポート
>等を検討した方が良さそう。
**[[ASP.NET Web Forms]]以外での利用 [#ib1d674f]
***ASP.NET Mobile Web [#ubca4e31]
なお、携帯端末用のASP.NET Mobile Web(既にdiscon)の場合...
Cookieをサポートしていないケースがあるため、Forms認証の[[...
[[Web.config>#nf687ad7]]のformsタグの定義を次のように、co...
<forms name="formauth" ~ cookieless="UseUri"/>
この場合、下記に示す様に、ASP.NET Mobile Webにより、URLに...
http://[FQDN名]/[アプリケーション名]/S(SessionID)F(Forms...
ASP.NET Mobile Web では、URLに埋め込まれたForms認証の[[Co...
画面遷移の際は、MobilePage.RedirectToMobilePage メソッド...
***[[ASP.NET MVC における 認証>ASP.NET MVCの利用方法#i72e...
***[[ASP.NET Core における 認証]] [#y634ff92]
*参考 [#waedc31a]
**[[ASP.NET でSessionCookie、Cookie認証Ticketを共有する方...
----
Tags: [[:.NET開発]], [[:ASP.NET]], [[:ASP.NET Web Forms]]...
終了行:
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicros...
-戻る
--[[ASP.NET]]
--[[認証基盤]]
* 目次 [#j2f5dc70]
#contents
*概要 [#c361fa3a]
-Forms認証とは、Formにユーザアカウント情報を入力してWeb/A...
-ASP.NET Forms認証は、ASP.NETでForms認証を実装するための...
-[[ASP.NET Identity]]では、非常に沢山のことを覚え、実装を...
僅か、下記の実装のみで暗号化された[[Cookie認証チケット>認...
ASP.NETアプリケーションの認証基盤として利用される機会が多...
**[[Web.config>#nf687ad7]]上の設定 [#g2cf44db]
<authentication mode="Forms">
<forms name="formauth"
loginUrl="(ログイン画面のURL)"
defaultUrl="(メニュー画面のURL)"
protection="All"
timeout="60"
path="/"
requireSSL="false"
slidingExpiration="true"
enableCrossAppRedirects="false"
cookieless="UseDeviceProfile" domain="">
</forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
※ [[Web.config>#nf687ad7]](authenticationタグのtimeout属...
**ログイン画面と認証ロジック [#o6ed7c82]
***ログイン画面 [#x86ae883]
#ref(LoginScreen(aspx).png,left,nowrap,ログイン画面(*.as...
***認証ロジック(C#の場合) [#h4cb8c7e]
認証ロジック(コードビハインド)
protected void Button1_Click(object sender, EventArgs e)
{
// ユーザ名、パスワードを取得。
string userName = this.TextBox1.Text
string passWord = this.TextBox2.Text
// 任意の認証ロジック(userName、passWordからユーザ...
// 認証か完了した場合、認証チケットを生成し、元のペ...
// 第2引数は、クライアントがCookieを永続化(ファイ...
// を設定する引数であるが、セキュリティを考慮して、f...
FormsAuthentication.RedirectFromLoginPage(userName, ...
}
*詳細 [#yd85d9d5]
**クロスサイト設定 [#ec5ec34c]
***1 つのサーバ上 or Web ファーム内のアプリケーション間 [...
machine keyと[[Cookie認証チケット>認証基盤#la8f4c73]]のco...
-Web ファームの認証のベスト プラクティス~
https://msdn.microsoft.com/ja-jp/library/cc419744.aspx
-アプリケーション間のフォーム認証~
https://msdn.microsoft.com/ja-jp/library/eb0zx8fc.aspx
***同一ドメインのサイト間での利用 [#se3beab8]
上記に加え、enableCrossAppRedirects要素をtrueに設定するこ...
ASP.NET2.0からWebサイト間のシングル サイン オンも可能にな...
-MSDNライブラリ > .NET Frameworkの全般リファレンス > auth...
http://msdn.microsoft.com/ja-jp/library/1d3t3c61.aspx
-Sharing Authentication Cookie between two ASP.NET Applic...
http://www.codeproject.com/Tips/438319/Sharing-Authentica...
**コンテンツごとの制御 [#lc5db7f2]
***静的コンテンツへの適用 [#za9ab06e]
また、Forms認証はASP.NETの認証基盤機能であるため、~
動的コンテンツ(aspx)以外に利用できないと思われがちだが、~
下記のような設定によって静的コンテンツにも適用できるよう...
-@IT > .NET TIPS > [ASP.NET].htmlや.pdfファイルをフォー...
http://www.atmarkit.co.jp/fdotnet/dotnettips/114iisrelate...
ただし、IIS6.0では、[[Web.config>#nf687ad7]]ファイルに以...
<httpHandlers>
<add verb="*" path="*.pdf" type="System.Web.StaticFile...
<add verb="*" path="*.html" type="System.Web.StaticFil...
</httpHandlers>
※ 拡張子ごとに、addタグを追加する。
-MSDNライブラリ > .NET Frameworkの全般リファレンス > http...
http://msdn.microsoft.com/ja-jp/library/bya7fh0a.aspx
***一部コンテンツを認証対象外に設定する。 [#be337e83]
以下の設定で認証対象外に設定できる(フォルダやファイル単...
<!-- Framework ファイルを認証対象外にする -->
<location path="Framework/Img">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<location path="Framework/Js">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<location path="common">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
-location 要素 (ASP.NET 設定スキーマ)~
https://msdn.microsoft.com/ja-jp/library/b6x6shw7.aspx
**クロスサイト、クロスドメイン [#zf3414e4]
***クロスサイト [#f78e2582]
ASP.NETのForms認証では、[[Cookie認証チケット>認証基盤#la8...
***クロスドメイン [#pa9838fa]
-しかし、クロスドメインでの[[Cookie認証チケット>認証基盤#...
-クロスドメイン間のサイトで、テンポラリの認証情報をQueryS...
連携先サイトで、別途Forms認証の[[Cookie認証チケット>認証...
-しかし、小手先の実装だし、要件に合わないようなら、個別に
--「[[統合認証基盤型>認証基盤#bcd2a481]]」の認証基盤製品...
--「[[クレームベース認証>認証基盤#if326ed5]]」のサポート
>等を検討した方が良さそう。
**[[ASP.NET Web Forms]]以外での利用 [#ib1d674f]
***ASP.NET Mobile Web [#ubca4e31]
なお、携帯端末用のASP.NET Mobile Web(既にdiscon)の場合...
Cookieをサポートしていないケースがあるため、Forms認証の[[...
[[Web.config>#nf687ad7]]のformsタグの定義を次のように、co...
<forms name="formauth" ~ cookieless="UseUri"/>
この場合、下記に示す様に、ASP.NET Mobile Webにより、URLに...
http://[FQDN名]/[アプリケーション名]/S(SessionID)F(Forms...
ASP.NET Mobile Web では、URLに埋め込まれたForms認証の[[Co...
画面遷移の際は、MobilePage.RedirectToMobilePage メソッド...
***[[ASP.NET MVC における 認証>ASP.NET MVCの利用方法#i72e...
***[[ASP.NET Core における 認証]] [#y634ff92]
*参考 [#waedc31a]
**[[ASP.NET でSessionCookie、Cookie認証Ticketを共有する方...
----
Tags: [[:.NET開発]], [[:ASP.NET]], [[:ASP.NET Web Forms]]...
ページ名: