フォーム認証 - (2008/02/08 (金) 09:34:47) の最新版との変更点
追加された行は緑色になります。
削除された行は赤色になります。
// 現在のページ名
*&this_page()
**概要
ページの説明
***参照
-[[.NET Framework 一般リファレンス authentication の forms 要素 (ASP.NET 設定スキーマ)>>http://msdn2.microsoft.com/ja-jp/library/1d3t3c61.aspx]]
-[[Login クラス (System.Web.UI.WebControls)>>http://msdn2.microsoft.com/ja-jp/library/system.web.ui.webcontrols.login(VS.80).aspx]]
***参考
-[[@IT:連載:プログラミングASP.NET 第17回 ASP.NETにおける認証と認定>>http://www.atmarkit.co.jp/fdotnet/aspnet/aspnet17/aspnet17_01.html]]
-[[@IT:.NET TIPS [ASP.NET]構成ファイルのみでフォーム認証を実現するには? - C# Webフォーム>>http://www.atmarkit.co.jp/fdotnet/dotnettips/135aspauth/aspauth.html]]
-[[@IT:連載:プログラミングASP.NET 第19回 フォーム認証を実装したASP.NETアプリケーション>>http://www.atmarkit.co.jp/fdotnet/aspnet/aspnet19/aspnet19_01.html]]
-[[@IT:ASP.NET 2.0が変えるWebアプリ開発の世界 第3回 ASP.NET 2.0のログイン管理とウィザード・ページ>>http://www.atmarkit.co.jp/fdotnet/asp2review/asp2review03/asp2review03_01.html]]
***元ネタ
**前提条件
-[[新しいwebサイトの作成]]
**手順
web.config の「authentication」を、windows から Forms に変更し、
「authorization」(つづりが似ている)を追加する。
#highlight(xml){
<authentication mode="Windows" />
}
この部分。
&img(247.jpg)
以下のように書き換える。
#highlight(xml){
<authentication mode="Forms" />
<authorization>
<deny users ="?"/>
</authorization>
}
&img(248.jpg)
[ツールボックス] -> 「Login」をドラッグアンドドロップで、default.aspx に配置する。
&img(249.jpg)
default.aspx.vb を以下のように変更。
#highlight(vb.net){
Partial Class _Default
Inherits System.Web.UI.Page
' 認証判定イベント
Protected Sub Login1_Authenticate(ByVal sender As Object _
, ByVal e As System.Web.UI.WebControls.AuthenticateEventArgs) Handles Login1.Authenticate
e.Authenticated = True
End Sub
End Class
}
&img(250.jpg)
// 現在のページ名
*&this_page()
**概要
入力フォームによるログインページを作る。
1.web.config で「フォーム認証」モードを設定。
2.web.config で未ログインユーザーからのwebページへのアクセスを禁止。
3.ログインページの作成
***参照
-[[.NET Framework 一般リファレンス authentication の forms 要素 (ASP.NET 設定スキーマ)>>http://msdn2.microsoft.com/ja-jp/library/1d3t3c61.aspx]]
-[[Login クラス (System.Web.UI.WebControls)>>http://msdn2.microsoft.com/ja-jp/library/system.web.ui.webcontrols.login(VS.80).aspx]]
***参考
-[[@IT:連載:プログラミングASP.NET 第17回 ASP.NETにおける認証と認定>>http://www.atmarkit.co.jp/fdotnet/aspnet/aspnet17/aspnet17_01.html]]
-[[@IT:.NET TIPS [ASP.NET]構成ファイルのみでフォーム認証を実現するには? - C# Webフォーム>>http://www.atmarkit.co.jp/fdotnet/dotnettips/135aspauth/aspauth.html]]
-[[@IT:連載:プログラミングASP.NET 第19回 フォーム認証を実装したASP.NETアプリケーション>>http://www.atmarkit.co.jp/fdotnet/aspnet/aspnet19/aspnet19_01.html]]
-[[@IT:ASP.NET 2.0が変えるWebアプリ開発の世界 第3回 ASP.NET 2.0のログイン管理とウィザード・ページ>>http://www.atmarkit.co.jp/fdotnet/asp2review/asp2review03/asp2review03_01.html]]
**前提条件
-[[新しいwebサイトの作成]]
**手順
web.config の「authentication」を、windows から Forms に変更し、
「authorization」(つづりが似ている)を追加する。
#highlight(xml){
<authentication mode="Windows" />
}
この部分。
&img(247.jpg)
以下のように書き換える。
#highlight(xml){
<authentication mode="Forms" />
<authorization>
<deny users ="?"/>
</authorization>
}
&img(248.jpg)
[[webフォームの追加]] の手順で「login.aspx」を追加する。
※ASP.NETのデフォルト仕様で、ログインページの名前は「login.aspx」に固定されている。(変更可)
[ツールボックス] -> 「Login」をドラッグアンドドロップで、login.aspx に配置する。
&img(251.jpg)
login.aspx.vb を以下のように変更。
#highlight(vb.net){
Partial Class login
Inherits System.Web.UI.Page
' 認証判定イベント
Protected Sub Login1_Authenticate(ByVal sender As Object _
, ByVal e As System.Web.UI.WebControls.AuthenticateEventArgs) Handles Login1.Authenticate
If Login1.UserName = "hoge" And Login1.Password = "hoge" Then
' 認証を許可
e.Authenticated = True
End If
End Sub
End Class
}
実行すると以下のように表示される。
&img(252.jpg)
ユーザー名「hoge」、パスワード「hoge」と入力し、ログインボタンを押す。
&img(253.jpg)
ログイン判定が行われ、default.aspx が表示される。(アドレスバーで確認できる)
※なお、この項のユーザー名とパスワードは定数であるが、DBや外部ファイルから取得したほうが汎用的である。
&img(261.jpg)
表示オプション
横に並べて表示:
変化行の前後のみ表示: