日期:2014-05-17  浏览次数:20469 次

怎么用js获取froms验证生成的cookie凭证
我实现了利用Froms验证做了单点登陆,并且生成了全局的唯一cookie凭证,后台获得这个COOKIE没问题,但是我想用js来获取这个cookie,但是出现的情况是当我通过名称去获取这个cookie时得到的是一串类似加密后的字母和数字,如果才能在js下获取到这个cookie,大概写入cookie的代码如下:
 
C# code
var authTicket = new FormsAuthenticationTicket(1,userName,DateTime.Now, DateTime.Now.AddMinutes(30),false,
 userData,
 FormsAuthentication.FormsCookiePath);
 string encTicket = FormsAuthentication.Encrypt(authTicket);
 var authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
 authCookie.Domain = ".xxxxxxxxxx.xx";
 authCookie.Expires = authTicket.Expiration;
 Context.Response.Cookies.Add(authCookie);


------解决方案--------------------
在后台页面定义一个 public string cookie="";
加载进来后 把cookie赋值给cookie 
在aspx 页面用
<script>

var str=<%=cookie%>
alert(str);
</script> 
 可以使用
------解决方案--------------------
加密是为了安全考虑,你可以在后台直接把Cookie的内容传过来,或者ajax后台去掉FormsAuthentication.Decrypt 方法