チェンジセット 1599 (default)
- 日時:
- 2023/08/21 19:11:23 (14ヵ月前)
- ファイル:
-
- 1個の更新
凡例:
- 未変更
- 追加
- 削除
-
framework/trunk/WebLibrary/Sources/Security/WebSecurityUtility.cs
r1597 r1599 205 205 206 206 RewriteFormsAuthenticationCookie( 207 context.Re quest.Cookies,207 context.Response.Cookies, 208 208 userName, 209 209 issueDate, … … 217 217 /// 指定されたクッキーコレクションに対して、フォーム認証チケットを含むクッキーを作成して置き換えます。 218 218 /// </summary> 219 /// <param name=" cookies">220 /// クッキーコレクション。219 /// <param name="responseCookies"> 220 /// レスポンスに使用するクッキーコレクション。 221 221 /// </param> 222 222 /// <param name="userName"> … … 249 249 /// </exception> 250 250 public static void RewriteFormsAuthenticationCookie( 251 HttpCookieCollection cookies,251 HttpCookieCollection responseCookies, 252 252 string userName, 253 253 DateTime? issueDate, … … 258 258 { 259 259 SetFormsAuthenticationCookie( 260 cookies,260 responseCookies, 261 261 CreateFormsAuthenticationTicket( 262 262 userName, … … 291 291 } 292 292 293 RenewFormsAuthenticationCookieIfOld(context.Request.Cookies); 293 RenewFormsAuthenticationCookieIfOld( 294 context.Request.Cookies, 295 context.Response.Cookies); 294 296 } 295 297 … … 298 300 /// 指定されたクッキーコレクションに設定されているフォーム認証チケットとクッキーの期限を、現在の日時を元に延長します。 299 301 /// </summary> 300 /// <param name="cookies"> 301 /// クッキーコレクション。 302 /// <param name="requestCookies"> 303 /// リクエストを元にしたクッキーコレクション。 304 /// </param> 305 /// <param name="responseCookies"> 306 /// レスポンスに使用するクッキーコレクション。 302 307 /// </param> 303 308 /// <exception cref="HttpException"> … … 305 310 /// 暗号化認証チケットを HTTP Cookie で使用するのに適した形に変換できませんでした。 306 311 /// </exception> 307 public static void RenewFormsAuthenticationCookieIfOld(HttpCookieCollection cookies) 308 { 309 HttpCookie cookie = cookies[FormsAuthentication.FormsCookieName]; 312 public static void RenewFormsAuthenticationCookieIfOld( 313 HttpCookieCollection requestCookies, 314 HttpCookieCollection responseCookies) 315 { 316 HttpCookie cookie = requestCookies[FormsAuthentication.FormsCookieName]; 310 317 if (cookie == null) 311 318 { … … 331 338 } 332 339 333 SetFormsAuthenticationCookie( cookies, newTicket);340 SetFormsAuthenticationCookie(responseCookies, newTicket); 334 341 } 335 342 … … 360 367 } 361 368 362 RemoveFormsAuthenticationCookie(context.Request.Cookies, context.Request.Browser.SupportsEmptyStringInCookieValue); 369 RemoveFormsAuthenticationCookie( 370 context.Request.Cookies, 371 context.Response.Cookies, 372 context.Request.Browser.SupportsEmptyStringInCookieValue); 363 373 } 364 374 … … 366 376 /// 指定されたクッキーコレクションから、フォーム認証のクッキーを削除します。 367 377 /// </summary> 368 /// <param name="cookies"> 369 /// クッキーコレクション。 378 /// <param name="requestCookies"> 379 /// リクエストを元にしたクッキーコレクション。 380 /// </param> 381 /// <param name="responseCookies"> 382 /// レスポンスに使用するクッキーコレクション。 370 383 /// </param> 371 384 /// <param name="supportsEmptyStringInCookieValue"> … … 381 394 /// メソッドと同じ動きですが、呼び出した後ログインページへのリダイレクトは行われません。 382 395 /// </remarks> 383 public static void RemoveFormsAuthenticationCookie(HttpCookieCollection cookies, bool supportsEmptyStringInCookieValue) 396 public static void RemoveFormsAuthenticationCookie( 397 HttpCookieCollection requestCookies, 398 HttpCookieCollection responseCookies, 399 bool supportsEmptyStringInCookieValue) 384 400 { 385 401 string cookieName = FormsAuthentication.FormsCookieName; 386 HttpCookie oldCookie = cookies[cookieName];402 HttpCookie oldCookie = requestCookies[cookieName]; 387 403 if (oldCookie == null) 388 404 { … … 415 431 416 432 Debug.Assert(cookieName == newCookie.Name, "Invalid cookie name"); 417 SaveCookie( cookies, newCookie);433 SaveCookie(responseCookies, newCookie); 418 434 } 419 435 … … 444 460 /// 指定したチケットをクッキーコレクションに設定します。 445 461 /// </summary> 446 /// <param name=" cookies">447 /// クッキーコレクション。462 /// <param name="responseCookies"> 463 /// レスポンスに使用するクッキーコレクション。 448 464 /// </param> 449 465 /// <param name="ticket"> … … 453 469 /// 暗号化認証チケットを HTTP Cookie で使用するのに適した形に変換できませんでした。 454 470 /// </exception> 455 private static void SetFormsAuthenticationCookie(HttpCookieCollection cookies, FormsAuthenticationTicket ticket)456 { 457 SaveCookie( cookies, CreateFormsAuthenticationCookie(ticket));471 private static void SetFormsAuthenticationCookie(HttpCookieCollection responseCookies, FormsAuthenticationTicket ticket) 472 { 473 SaveCookie(responseCookies, CreateFormsAuthenticationCookie(ticket)); 458 474 } 459 475 … … 461 477 /// 指定したクッキーをクッキーコレクションに設定します。 462 478 /// </summary> 463 /// <param name=" cookies">464 /// クッキーコレクション。479 /// <param name="responseCookies"> 480 /// レスポンスに使用するクッキーコレクション。 465 481 /// </param> 466 482 /// <param name="cookie"> 467 483 /// 設定するチケット。 468 484 /// </param> 469 private static void SaveCookie(HttpCookieCollection cookies, HttpCookie cookie)470 { 471 cookies.Remove(cookie.Name);472 cookies.Add(cookie);485 private static void SaveCookie(HttpCookieCollection responseCookies, HttpCookie cookie) 486 { 487 responseCookies.Remove(cookie.Name); 488 responseCookies.Add(cookie); 473 489 } 474 490 }
※ 詳しい使い方は
TracChangeset を参照してください。