Microsoft MVP성태의 닷넷 이야기
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

다음은 제가 "microsoft.public.kr.dotnet.asp"에 올렸던 답변 내용입니다.

-----------------------------------------------------------------------
> Response.Cookies["xromeo"]["userID"] = null;
> Response.Cookies["xromeo"]["userPass"] = null;
> Response.Cookies.Clear();

음... 유감이군요. ^^
다 좋은데... 마지막 Response.Cookies.Clear() 때문에 동작을 안 하는군요.

직관적으로는 그것이 맞을 것 같기는 한데... 프로그램상으로는 아마도 Cookies
컬렉션의 모든 항목을 지우고는 Set-Cookie 헤더에는 결과가 반영이 안되는 것
같습니다. 따라서 기존 쿠키는 계속 살아있겠지요.
애써 명시적으로 지우려고 했던 "xromeo/userID = null"에 대한 사항이
Set-Cookie로 반영되기도 전에 사라져 버리니... ^^

--
======= .NETXpert ==========
url : http://www.dotnetxpert.com
eml : kevin@dotnetxpert.com
msn: kevin025@magicn.com

MCSD.NET
==========================

"Karl" <masterromeo131@hotmail.com.korea> wrote in message
news:eq95A61eEHA.2352@TK2MSFTNGP09.phx.gbl...
> 안녕하세요 정성태님
>
> 아...머리 아프내요....잘못된 부분좀 지적해 주세요...^^:
>
>
> 상태는 쿠키로 했구요...로그아웃부분은
>
> Response.Cookies["xromeo"]["userID"] = null;
> Response.Cookies["xromeo"]["userPass"] = null;
> Response.Cookies.Clear();
>
> logInPanel.Visible = true;
> logOutPanel.Visible = false;
>
> Response.Write(_common.alert("Logout되었습니다.",""));
>
> 이렇게 처리를 했습니다.
>
>
> 로그인은 이렇게 했구요...
>
> string strCon = ConfigurationSettings.AppSettings["connectionString"];
>
> SqlConnection con = new SqlConnection(strCon);
> SqlCommand cmd = new SqlCommand();
> cmd.Connection = con;
> cmd.CommandText = " SELECT num FROM member WHERE id=@userID AND
> pass=@userPass ";
>
> cmd.Parameters.Add("@userID", SqlDbType.VarChar, 20);
> cmd.Parameters.Add("@userPass", SqlDbType.VarChar, 20);
> cmd.Parameters["@userID"].Value = txtUserID.Text;
> cmd.Parameters["@userPass"].Value = txtUserPass.Text;
>
> try
> {
> con.Open();
> if(cmd.ExecuteScalar() != null)
> {
> Response.Cookies["xromeo"]["userID"] = txtUserID.Text;
> Response.Cookies["xromeo"]["userPass"] = txtUserPass.Text;
>
> lblLoginStat.Text = txtUserID.Text;
>
> txtUserID.Text = "";
> txtUserPass.Text = "";
>
> logInPanel.Visible = false;
> logOutPanel.Visible = true;
>
> Response.Write(_common.alert("Login되었습니다.",""));
> }
> else
> {
> Response.Write(_common.alert("Login정보가 정확하지
> 않습니다.","history.go(-1);"));
>
> Response.End();
> }
> }
> finally
> {
> con.Close();
>
> txtUserID.Text = "";
> txtUserPass.Text = "";
> }
>
>
> --
> 그럼 오늘도 고맙습니다.
>
> ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
> Karl, Lee
> Microsoft 2003, 2004 MVP , MCSD
> email & msn : masterromeo131 AT hotmail DOT com
> ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
> "정성태" <kevin25@hanmail.net.korea> wrote in message
> news:uX3kBx1eEHA.3928@TK2MSFTNGP11.phx.gbl...
> > 로그인/로그아웃을 어떻게 처리하시나요?
> >
> > 예를 들어,,, 로그인후, 그에 대한 정보를 Cookie 로 처리하는 경우,
로그아웃
> > 시에 쿠키를 지우지 않으면 해당 IE 가 종료되지 않는 이상 계속 로그인
상태가
> > 된 거나 마찬가지로 동작하게 되지요.
> >
> > ... 로그인시에 해주었던 처리를 로그아웃시에 깨끗하게 제거해야 겠지요. ^^
> >
> > --
> > ======= .NETXpert ==========
> > url : http://www.dotnetxpert.com
> > eml : kevin@dotnetxpert.com
> > msn: kevin025@magicn.com
> >
> > MCSD.NET
> > ==========================
> >
> > "Karl" <masterromeo131@hotmail.com.korea> wrote in message
> > news:##vv5X1eEHA.3412@TK2MSFTNGP11.phx.gbl...
> > > 안녕하세요 Karl입니다.
> > >
> > > 로그아웃 후에 캐쉬가 남아있어서 뒤로가기를 하면 다시 로긴이
> > > 되고있습니다. -_-;
> > >
> > > html에 meta태그로 막는건 소용이 없는것 같고....
> > >
> > > 어떤 방법으로 막나요?
> > >
> > >
> > >
> > > 그럼 오늘도 고맙습니다.
> > >
> > > ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
> > > Karl, Lee
> > > Microsoft 2003, 2004 MVP , MCSD
> > > email & msn : masterromeo131 AT hotmail DOT com
> > > ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
> > >
> > >
> >
> >
>
>









[최초 등록일: ]
[최종 수정일: 9/28/2024]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 




... 76  77  78  79  80  81  82  [83]  84  85  86  87  88  89  90  ...
NoWriterDateCnt.TitleFile(s)
11861정성태4/6/201919595디버깅 기술: 126. windbg - .NET x86 CLR2/CLR4 EXE의 EntryPoint
11860정성태4/5/201923439오류 유형: 527. Visual C++ 컴파일 오류 - error C2220: warning treated as error - no 'object' file generated
11859정성태4/4/201920668디버깅 기술: 125. WinDbg로 EXE의 EntryPoint에서 BP 거는 방법
11858정성태3/27/201921574VC++: 129. EXE를 LoadLibrary로 로딩해 PE 헤더에 있는 EntryPoint를 직접 호출하는 방법파일 다운로드1
11857정성태3/26/201919477VC++: 128. strncpy 사용 시 주의 사항(Linux / Windows)
11856정성태3/25/201919754VS.NET IDE: 134. 마이크로소프트의 CoreCLR 프로파일러 리눅스 예제를 Visual Studio F5 원격 디버깅하는 방법 [1]파일 다운로드1
11855정성태3/25/201921893개발 환경 구성: 436. 페이스북 HTTPS 인증을 localhost에서 테스트하는 방법
11854정성태3/25/201917551VS.NET IDE: 133. IIS Express로 호스팅하는 사이트를 https로 접근하는 방법
11853정성태3/24/201920352개발 환경 구성: 435. 존재하지 않는 IP 주소에 대한 Dns.GetHostByAddress/gethostbyaddr/GetNameInfoW 실행이 느리다면? - 두 번째 이야기 [1]
11852정성태3/20/201919578개발 환경 구성: 434. 존재하지 않는 IP 주소에 대한 Dns.GetHostByAddress/gethostbyaddr/GetNameInfoW 실행이 느리다면?파일 다운로드1
11851정성태3/19/201923335Linux: 8. C# - 리눅스 환경에서 DllImport 대신 라이브러리 동적 로드 처리 [2]
11850정성태3/18/201922320.NET Framework: 813. C# async 메서드에서 out/ref/in 유형의 인자를 사용하지 못하는 이유
11849정성태3/18/201921748.NET Framework: 812. pscp.exe 기능을 C#으로 제어하는 방법파일 다운로드1
11848정성태3/17/201918464스크립트: 14. 윈도우 CMD - 파일이 변경된 경우 파일명을 변경해 복사하고 싶다면?
11847정성태3/17/201922930Linux: 7. 리눅스 C/C++ - 공유 라이브러리 동적 로딩 후 export 함수 사용 방법파일 다운로드1
11846정성태3/15/201921553Linux: 6. getenv, setenv가 언어/운영체제마다 호환이 안 되는 문제
11845정성태3/15/201921743Linux: 5. Linux 응용 프로그램의 (C++) so 의존성 줄이기(ReleaseMinDependency) [3]
11844정성태3/14/201923053개발 환경 구성: 434. Visual Studio 2019 - 리눅스 프로젝트를 이용한 공유/실행(so/out) 프로그램 개발 환경 설정 [1]파일 다운로드1
11843정성태3/14/201918022기타: 75. MSDN 웹 사이트를 기본으로 영문 페이지로 열고 싶다면?
11842정성태3/13/201916361개발 환경 구성: 433. 마이크로소프트의 CoreCLR 프로파일러 예제를 Visual Studio CMake로 빌드하는 방법 [1]파일 다운로드1
11841정성태3/13/201916668VS.NET IDE: 132. Visual Studio 2019 - CMake의 컴파일러를 기본 g++에서 clang++로 변경
11840정성태3/13/201918285오류 유형: 526. 윈도우 10 Ubuntu App 환경에서는 USB 외장 하드 접근 불가
11839정성태3/12/201922192디버깅 기술: 124. .NET Core 웹 앱을 호스팅하는 Azure App Services의 프로세스 메모리 덤프 및 windbg 분석 개요 [3]
11838정성태3/7/201925806.NET Framework: 811. (번역글) .NET Internals Cookbook Part 1 - Exceptions, filters and corrupted processes [1]파일 다운로드1
11837정성태3/6/201939770기타: 74. 도서: 시작하세요! C# 7.3 프로그래밍 [10]
11836정성태3/5/201923337오류 유형: 525. Visual Studio 2019 Preview 4/RC - C# 8.0 Missing compiler required member 'System.Range..ctor' [1]
... 76  77  78  79  80  81  82  [83]  84  85  86  87  88  89  90  ...