asp.net 웹사이트에서 쿠키 값을 얻는 방법
로그인 성공 후 쿠키를 만들고 사용자 이름 값을 저장하고 있습니다.웹사이트가 열렸을 때 쿠키에 접속하려면 어떻게 해야 합니까?쿠키가 존재하는 경우 쿠키 값에서 사용자 이름 텍스트 상자를 채우고 싶습니다.그리고 사용자 이름을 얻기 위해 값을 암호 해독하는 방법.저는 데이터베이스에서 사용자 정보를 가져와 서버 측면 검증을 하고 있습니다.c#과 함께 vs2010을 사용하고 있습니다.
FormsAuthenticationTicket tkt;
string cookiestr;
HttpCookie ck;
tkt = new FormsAuthenticationTicket(1, txtUserName.Value, DateTime.Now,
DateTime.Now.AddYears(1), chk_Rememberme.Checked, "User Email");
cookiestr = FormsAuthentication.Encrypt(tkt);
ck = new HttpCookie(FormsAuthentication.FormsCookieName, cookiestr);
if (chk_Rememberme.Checked)
{
ck.Expires = tkt.Expiration;
ck.Path = FormsAuthentication.FormsCookiePath;
Response.Cookies.Add(ck);
}
cookie는 이름이 로 생성됩니다.YAFNET_인증 및 콘텐츠 암호화
웹 구성:
<forms name=".YAFNET_Authentication" loginUrl="Home.aspx"
protection="All" timeout="15000" cookieless="UseCookies"/>
Request를 사용할 수 있습니다.쿠키를 읽을 쿠키 모음:
if (Request.Cookies["key"] != null)
{
var value = Request.Cookies["key"].Value;
}
Forms Authentication.암호 해독은 쿠키의 이름이 아닌 실제 값을 가져옵니다.쿠키 값은 다음과 같이 얻을 수 있습니다.
HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName].Value;
암호를 해독하는 겁니다
global.asax에 이 함수를 추가합니다.
protected void Application_AuthenticateRequest(Object sender, EventArgs e)
{
string cookieName = FormsAuthentication.FormsCookieName;
HttpCookie authCookie = Context.Request.Cookies[cookieName];
if (authCookie == null)
{
return;
}
FormsAuthenticationTicket authTicket = null;
try
{
authTicket = FormsAuthentication.Decrypt(authCookie.Value);
}
catch
{
return;
}
if (authTicket == null)
{
return;
}
string[] roles = authTicket.UserData.Split(new char[] { '|' });
FormsIdentity id = new FormsIdentity(authTicket);
GenericPrincipal principal = new GenericPrincipal(id, roles);
Context.User = principal;
}
그러면 HttpContext를 사용할 수 있습니다.현재의.사용자. 아이덴티티.사용자 이름을 가져올 이름입니다.도움이 되기를 바랍니다
HttpCookie cook = new HttpCookie("testcook");
cook = Request.Cookies["CookName"];
if (cook != null)
{
lbl_cookie_value.Text = cook.Value;
}
else
{
lbl_cookie_value.Text = "Empty value";
}
참조 여기 클릭
언급URL : https://stackoverflow.com/questions/8490129/how-to-get-the-cookie-value-in-asp-net-website
'programing' 카테고리의 다른 글
max(a,b)는 stdlib.h에 정의되어 있습니까? (0) | 2023.10.11 |
---|---|
왜 wprintf는 리눅스에서 유니코드의 러시아어 텍스트를 라틴어로 번역합니까? (0) | 2023.10.06 |
Javascript/jQuery를 사용하여 HTML 요소에서 모든 특성 가져오기 (0) | 2023.10.06 |
반응 네이티브 고정 바닥글 (0) | 2023.10.06 |
mariadb에서 타임스탬프를 사용하여 사용자 지정 기본 키를 생성하는 방법 (0) | 2023.10.06 |