public override ApiReturn SynLogin(int uid)
{
UcClient client = new UcClient();
var dzUser = client.UserInfo(uid);
HttpCookie cookie = new HttpCookie("UserInfo");
cookie.Domain = ".XXXXX.com";
cookie.Value = dzUser.UserName;
cookie.Values.Add("Uid", dzUser.Uid.ToString());
cookie.Values.Add("Uname", dzUser.UserName);
cookie.Values.Add("Ucredit",client.UserGetCredit(1, dzUser.Uid,1).ToString());
cookie.Expires = DateTime.Now.AddDays(1);
HttpContext.Current.Response.Cookies.Add(cookie);
return ApiReturn.Success;
}我的同步登入方法
在我内网测试是没有问题的
但是挂到外网iis的XXXXX.com网站底下的虚拟目录myOpj
访问地址就变成是www.XXXXX.com/myOpj
登入成功后发现cookie写不进去
特意用session试了下 登入方法没有问题这个怎么解决?
这个cookie主要是为同个根域名底下的不同程序服务的
解决方案 »
- 子页面修改数据关闭后,父页面自动刷新数据.....
- 小白求教:关于“EndExecuteReader”方法没有采用“0”个参数的重载
- QQ相册的制作
- 为什么我手动停止IIS,然后重启IIS后,application变量的值没有消失,而运行iisreset命令时,application变量就会消失?
- 急急!!owc的chartspace怎么不显示数据??
- 江湖救急!asp.net中checkbox颜色属性设置相同,却显示两种颜色
- 下载文件时指定文件名,中文的文件名出现了乱码?
- 那个用过AspNetPager分页控件的大哥能告诉我以下这个思路呢?
- datagrid的选择按钮
- 字符串的 比较(不区分大小写);另外(返回出数组的长度的函数是什么呢)(回答一个就给分)
- 请问:哪种日期控件最好用?
- 用asp.net 备份与还原oracle数据库
protected void set_cookie()
{
HttpCookie UserNameCookie = Request.Cookies["UserNameCookie"];
HttpCookie UserPasswordCookie = Request.Cookies["UserPasswordCookie"]; if (this.CheSave.Checked)
{
lblcookie.Text = "1"; //保存用户名和密码到cookie
if (UserNameCookie == null)
{
UserNameCookie = new HttpCookie("UserNameCookie");
UserNameCookie.Values.Add("UserName", TxtUserName.Text);
UserNameCookie.Expires = DateTime.Now.AddDays(30);
Response.Cookies.Add(UserNameCookie); }
//修改COOKIE
else if (UserNameCookie.Values["UserName"] != TxtUserName.Text)
{
SetToCookie(UserNameCookie, "UserName", TxtUserName.Text);
} if (UserPasswordCookie == null)
{
UserPasswordCookie = new HttpCookie("UserPasswordCookie");
string password1 = FormsAuthentication.HashPasswordForStoringInConfigFile(TxtUserPassword.Text, "MD5"); //如果重新指定用户密码,则重新加密密码
UserPasswordCookie.Values.Add("UserPassword", password1);
UserPasswordCookie.Expires = DateTime.Now.AddDays(30);
Response.Cookies.Add(UserPasswordCookie); }
else if (UserPasswordCookie.Values["UserPassword"] != FormsAuthentication.HashPasswordForStoringInConfigFile(TxtUserPassword.Text, "MD5") && TxtUserPassword.Text != "1234567890") //“1234567890”是程现在密码框中的十个字符。
{
SetToCookie(UserPasswordCookie, "UserPassword", FormsAuthentication.HashPasswordForStoringInConfigFile(TxtUserPassword.Text, "MD5"));
}
}
else
{
lblcookie.Text = "0";
//从cookie删除用户名和密码
if (Response.Cookies["UserNameCookie"] != null)
{
HttpCookie myCookie = new HttpCookie("UserNameCookie");
myCookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(myCookie);
}
if (Response.Cookies["UserPasswordCookie"] != null)
{
HttpCookie myCookie = new HttpCookie("UserPasswordCookie");
myCookie.Expires = DateTime.Now.AddDays(-1d);
Response.Cookies.Add(myCookie);
}
} }
//检查是否存在COOKie情况
public void check_cookie()
{
HttpCookie UserNameCookie = Request.Cookies["UserNameCookie"];
HttpCookie UserPasswordCookie = Request.Cookies["UserPasswordCookie"]; if (UserNameCookie != null)
{
this.CheSave.Checked = true;
TxtUserName.Text = UserNameCookie.Values["UserName"];
} if (UserPasswordCookie != null)
{
TxtUserPassword.Attributes.Add("value", "1234567890");//设置密码框初始值
}
}
public string getpassword()
{
HttpCookie UserPasswordCookie = Request.Cookies["UserPasswordCookie"];
string strpwd = ""; //获取此密码字符串与数据库存中的密布相比。
if (lblcookie.Text == "1")
{
strpwd = UserPasswordCookie.Values["UserPassWord"];//直接获取COOKIE中的密码值
}
else
{
strpwd= FormsAuthentication.HashPasswordForStoringInConfigFile(TxtUserPassword.Text, "MD5"); //对密码进行加密
}
return strpwd; //返回密码字段
} //修改COOKIE这段的方法
public void SetToCookie(HttpCookie httpcookie, string cookiename, string cookievalue)
{
httpcookie.Values[cookiename] = cookievalue;
httpcookie.Expires = DateTime.Now.AddDays(30);
Response.Cookies.Add(httpcookie);
}
}
督察我现在的状况是这样的
我在A.12345.com 写cookie 并设置Domain = ".12345.com"
发现cookie创建失败
去掉Domain = ".12345.com"后 cookie创建正常但是我这个cookie是为了给 在同个根域名下的其他程序B.12345.com和C.12345.com调用的所以必须加上Domain = ".12345.com"这个怎么处理哦??