最近要做个登录一个客户端跳转到另一个网站不用再登录,有两种方法,第一种就是写接口通过客户端传值账号直接到目标网站,另一种是写入cookie到目标网站。由于目标网站之前就是通过cookie实现单点登录,所以直接利用这个方法,目标网站不用再写接口。
domain表示的是cookie所在的域,默认为请求的地址,如网址为www.test.com/test/test.aspx,那么domain默认为www.test.com。而跨域访问,如域A为t1.test.com,域B为t2.test.com,那么在域A生产一个令域A和域B都能访问的cookie就要将该cookie的domain设置为.test.com;如果要在域A生产一个令域A不能访问而域B能访问的cookie就要将该cookie的domain设置为t2.test.com。
但是客户端没有域名,我就想首先跳转到中转网站写入cookie验证跳转到目标网站实现单点登录,当然中转网站和目标网站必须在同一个域下面,例如目标网站域名是A.test.com,中转网站必须是B.test.com。
写入cookie的代码如下:
myRuijieECPCookie.Value = "123456"; myRuijieECPCookie.Expires = DateTime.Now.AddMinutes(120); myRuijieECPCookie.Domain = "test.com"; HttpContext.Current.Response.AppendCookie(myRuijieECPCookie); Response.Redirect("http://A.test.com");