ASP.NET
Panelは、他のコントロール達をまとめてグループ化するコンテナとして機能するクラスのひとつ。Panel クラス (System.Web.UI.WebControls) | Microsoft DocsPanel_.aspxで、サイズと背景色を指定。 赤いパネルが表示された赤いパネルが表示された。Sample/as…
GenericPrincipal.IsInRoleで、そのユーザが指定されたロールに所属しているか判定する。GenericPrincipal.IsInRole(String) メソッド (System.Security.Principal) | Microsoft Docsまず、users.xmlを、このように変更する。 testuser1がadminで、testuser2…
FormsIdentity.Nameで、ユーザ名が見れる。FormsIdentity.Name プロパティ (System.Web.Security) | Microsoft Docsmain.aspxで、こうして、ログインすると、 testuser1が見えるtestuser1が見える。Sample/aspnet/FormsIdentity/Name/src/FormsIdentity_ at …
GenericPrincipalが出来たら、それをHttpContext.Userにセットすると、遷移先ページからユーザ情報が見れる。HttpContext.User プロパティ (System.Web) | Microsoft DocsGlobal.asax.csで、Context.Userにprincipalをセットして、 main.aspxを追加し、Page.…
FormsIdentityが出来たら、それを使って、今度はGenericPrincipalを生成する。GenericPrincipal(IIdentity, String[]) コンストラクター (System.Security.Principal) | Microsoft DocsGlobal.asax.csで、コンストラクタにidentityとroleを渡して、GenericPr…
FormsAuthenticationTicketが取得できたなら、そこからFormsIdentityを生成する。FormsIdentity コンストラクター (System.Web.Security) | Microsoft DocsGlobal.asax.csで、コンストラクタにticketを渡して、FormsIdentityを生成。 こんな感じで生成される…
FormsAuthenticationTicketを使う理由として、ユーザ名とともに独自のデータを送ることが出来る点がある。 以前やったFormsAuthenticationTicketのコンストラクタの最後の引数には、userDataという文字列を指定出来た。 ここにrole文字列を指定しておくと、F…
FormsAuthentication.Encryptで、FormsAuthenticationTicketを暗号化したので、FormsAuthentication.Decryptで復号化する。FormsAuthentication.Encrypt(FormsAuthenticationTicket) メソッド (System.Web.Security) | Microsoft DocsGlobal.asax.csで、こう…
HttpContext.Requestで、HttpRequestが取得できるので、ここからクッキーを取り出して認証処理に使うことが出来る。HttpContext.Request プロパティ (System.Web) | Microsoft DocsDefault.aspxで、暗号化したチケットをクッキーに追加してResponse.Redirect…
Global.asaxは、ページを超えて存在するものなので、HTTPリクエストなどの情報は、HttpApplication.Contextが持っている。HttpApplication.Context プロパティ (System.Web) | Microsoft DocsGlobal.asax.csで、Contextの型を見る。 HttpContextであるHttpCo…
認証リクエストを処理するときは、Global.asaxのApplication_AuthenticateRequestに来る。 これは、HttpApplication.AuthenticateRequestイベントのハンドラである。HttpApplication.AuthenticateRequest イベント (System.Web) | Microsoft DocsDefault.asp…
@Applicationディレクティブが書かれたグローバルアプリケーションクラスGlobal.asaxは、アプリケーション全体のイベントを処理する。第11回 実践アプリケーションでもっと踏み込むASP.NET 2.0の世界(4/4) - @ITここからはVSで、 プロジェクト作成プロジ…
FormsAuthentication.GetRedirectUrlで、ログイン成功後に遷移するページへのリダイレクトURLをもらう。FormsAuthentication.GetRedirectUrl(String, Boolean) メソッド (System.Web.Security) | Microsoft Docslogin.aspxで、リダイレクトURLがどうなるかみ…
FormsAuthenticationTicketをクッキーに保存するときに、FormsAuthentication.Encryptで暗号化しておく。FormsAuthentication.Encrypt(FormsAuthenticationTicket) メソッド (System.Web.Security) | Microsoft Docslogin.aspxで、暗号化文字列を出してみる…
FormsAuthenticationTicketは、クッキーに保持しておくことで、様々なページの認証で使うのだが、クッキーを識別する名前にはFormsAuthentication.FormsCookieNameを使う。FormsAuthentication.FormsCookieName プロパティ (System.Web.Security) | Microsof…
これまでは、ユーザ認証をFormsAuthenticationクラスに任せていたが、ここからは独自の認証を実装する。 web.configを、こうして、ユーザ情報は外出し。 users.xmlを用意し、users.xmlを用意し、testuser1の情報はこう。 authdir2の下の、login.aspxは、独自…
FormsAuthenticationTicketは、認証チケットというもので、ユーザ識別情報、有効期限、ロール、などが格納されてる。FormsAuthenticationTicket クラス (System.Web.Security) | Microsoft Docsmain.aspxで、ticket.Nameで名前を見てみる。 ログインするとロ…
FormsIdentity.Ticketで、FormsIdentityが持つチケット情報を取得できる。FormsIdentity.Ticket プロパティ (System.Web.Security) | Microsoft Docsmain.aspxで、FormsIdentity.Ticketの型を見てみる。 ログインするとログインすると、 FormsAuthentication…
FormsIdentityは、フォーム認証で認証されたIDを持つクラス。FormsIdentity クラス (System.Web.Security) | Microsoft Docsmain.aspxで、User.IdentityをFormsIdentityにキャストして、Nameを出力。 ログインログインすると、 Nameは"testuser1"Nameは"test…
GenericPrincipal.Identityで、Identityを取得する。GenericPrincipal.Identity プロパティ (System.Security.Principal) | Microsoft Docsmain.aspxで、User.Identityの型を確認する。 ログインログイン。 FormsIdentityだった。FormsIdentityだった。Sampl…
これまでのフォーム認証だと、Page.Userは、GenericPrincipalになっている。GenericPrincipal クラス (System.Security.Principal) | Microsoft Docsmain.aspxで、Page.Userの型名を出してみる。 ログインするとログインすると、 確かにGenericPrincipal確か…
HttpCookieのコンストラクタには、名前とともに値もセットするタイプのものがある。HttpCookie コンストラクター (System.Web) | Microsoft Docsmain.aspxで、コンストラクタで、"first"を名前、"abcde"を値とする。 ログインログイン。 AddAdd。 cookie.Nam…
HttpCookieCollectionは、クッキー名をキーにして、HttpCookieオブジェクトを取得することもできる。HttpCookieCollection.Item[] プロパティ (System.Web) | Microsoft Docsmain.aspxで、それぞれ"authdir2"と"second"をキーにしてHttpCookieを取得しにいく…
HttpCookie.Expiresで、クッキーの有効期限を取得または設定する。HttpCookie.Expires プロパティ (System.Web) | Microsoft Docsmain.aspxで、addボタンをクリックしたときに、cookie.Expiresに、DateTime.Now.AddMinutes(5)を指定。 つまり5分でクッキーの…
HttpCookie.Valueで、クッキーの値を取得または設定する。HttpCookie.Value プロパティ (System.Web) | Microsoft Docsmain.aspxで、Nameを"second"、Valueを"abcde"とする。 また、Request.Cookiesの一覧表示でValueも表示する。 ログインログインすると、 …
HttpCookie.Nameは、クッキー名を取得または設定する。HttpCookie.Name プロパティ (System.Web) | Microsoft DocsHttpCookieのコンストラクタは、引数なしバージョンが無いので、必ずクッキー名は指定するわけだが、Nameプロパティはsetもできるので、後で…
HttpCookieCollection.Addで、HttpCookieを追加する。HttpCookieCollection.Add(HttpCookie) メソッド (System.Web) | Microsoft Docsmain.aspxで、addボタンを追加し、add_Clickで、Response.Cookies.Addで"first"という名前のHttpCookieオブジェクトを追加…
HttpCookieは、HttpCookieCollectionの一つの要素で、一つのクッキー情報を持つ。HttpCookie クラス (System.Web) | Microsoft Docsmain.aspxで、として、クッキー名を表すHttpCookieオブジェクトのNameプロパティを出力。 ログインするログインする。 クッ…
HttpCookieCollectionはインデクサに対応してるので、添字で要素を取得できる。HttpCookieCollection.Item[] プロパティ (System.Web) | Microsoft Docsmain.aspxで、reqCookies.Countが1以上なら、0番目要素の型を出力。 ログインしてみるログインしてみる…
以前、通常のアクセスでは、レスポンスのクッキーは0だった。 じゃあ、ログイン認証の時はあるかとおもって、 web.configとauthdir2のペアに戻した。web.configとauthdir2のペアに戻した。 で、main.aspxでレスポンスのクッキー見たけどやっぱり0だった。 勘…