我有一个sqldatasource和一个gridview。 我正在使用表单身份验证。
用户登录后,我正在加密他的名字
FormsAuthenticationTicket tkt;
string cookiestr;
HttpCookie ck;
tkt = new FormsAuthenticationTicket(1, txtUserName.text, DateTime.Now,
DateTime.Now.AddMinutes(30), true, false);
cookiestr = FormsAuthentication.Encrypt(tkt);
ck = new HttpCookie(FormsAuthentication.FormsCookieName, cookiestr);
ck.Expires=tkt.Expiration;
ck.Path = FormsAuthentication.FormsCookiePath;
Response.Cookies.Add(ck);
在重定向的页面中,我需要在sqldatasource中设置,其中 - >参数来源:cookie
,但
1.我不知道cookie名称,因为我看到它没有。
2.由于cookie被加密,sqldatasource必须使用解密的cookie..well ..我不知道该怎么做才能使用用户名字符串。
总而言之,我正在尝试隐藏他的名字,并在重定向页面中使用sqldatasource where条件中记录的用户名。我可以这样做,如果我不加密cookie但是..因为cookie可以编辑..我不希望ppl编辑cookie。
答案 0 :(得分:0)
Ans 1. FormsAuthentication.FormsCookieName的默认名称是“.ASPXAUTH”。 但是,如果您希望覆盖该名称,则必须在config
中进行<authentication mode="Forms">
<forms loginUrl="login.aspx"
cookieless="UseCookies"
name=".NEW_COOKIE_NAME" />
</authentication>