问题描述
要做一个单点登录的系统在网上研究了几天有点接近了可还有些问题我现在已经能够登录到网站上返回登录后页面HTML代码但是我怎么才能跳转到登录后的页面而且保持登录状态呢Response.Redirect跳转后登录状态就没了html代码直接输出到页面上布局会乱(脚本和CSS路径错误)以下是我使用的代码后台cs文件///<summary>///获取CooKie///</summary>///<paramname="loginUrl"></param>///<paramname="postdata"></param>///<paramname="header"></param>///<returns></returns>publicstaticCookieContainerGetCooKie(stringloginUrl,stringpostdata,HttpHeaderheader){HttpWebRequestrequest=null;HttpWebResponseresponse=null;try{CookieContainercc=newCookieContainer();request=(HttpWebRequest)WebRequest.Create(loginUrl);request.Method=header.method;request.ContentType=header.contentType;byte[]postdatabyte=Encoding.UTF8.GetBytes(postdata);request.ContentLength=postdatabyte.Length;request.AllowAutoRedirect=false;request.CookieContainer=cc;request.KeepAlive=true;//提交请求Streamstream;stream=request.GetRequestStream();stream.Write(postdatabyte,0,postdatabyte.Length);stream.Close();//接收响应response=(HttpWebResponse)request.GetResponse();response.Cookies=request.CookieContainer.GetCookies(request.RequestUri);CookieCollectioncook=response.Cookies;//Cookie字符串格式stringstrcrook=request.CookieContainer.GetCookieHeader(request.RequestUri);returncc;}catch(Exceptionex){throwex;}}///<summary>///获取html///</summary>///<paramname="getUrl"></param>///<paramname="cookieContainer"></param>///<paramname="header"></param>///<returns></returns>publicstaticstringGetHtml(stringgetUrl,CookieContainercookieContainer,HttpHeaderheader){HttpWebRequesthttpWebRequest=null;HttpWebResponsehttpWebResponse=null;try{httpWebRequest=(HttpWebRequest)HttpWebRequest.Create(getUrl);httpWebRequest.CookieContainer=cookieContainer;httpWebRequest.ContentType=header.contentType;httpWebRequest.ServicePoint.ConnectionLimit=header.maxTry;httpWebRequest.Referer=getUrl;httpWebRequest.Accept=header.accept;httpWebRequest.UserAgent=header.userAgent;httpWebRequest.Method="GET";httpWebResponse=(HttpWebResponse)httpWebRequest.GetResponse();StreamresponseStream=httpWebResponse.GetResponseStream();StreamReaderstreamReader=newStreamReader(responseStream,Encoding.UTF8);stringhtml=streamReader.ReadToEnd();streamReader.Close();responseStream.Close();httpWebRequest.Abort();httpWebResponse.Close();returnhtml;}catch(Exceptione){if(httpWebRequest!=null)httpWebRequest.Abort();if(httpWebResponse!=null)httpWebResponse.Close();returnstring.Empty;}}前台调用CookieContainercc=HttpHelpercs.GetCooKie("http://XXX/User/Login.aspx","user=123&pass=123",header);stringhtml=HttpHelpercs.GetHtml("http://XXX/Index.aspx",cc,header);Response.Write(html);//Response.Write("<script>window.location.href='http://XXX/Index.aspx';</script>");//Response.Redirect("http://XXX/Index.aspx");求大神解答
解决方案
解决方案二:
没弄过,帮顶下
解决方案三:
跳转以后登录状态没了?是同一个项目吗?
解决方案四:
日,好长啊,一般几行就搞定了
解决方案五:
引用2楼cnceohjm的回复:
跳转以后登录状态没了?是同一个项目吗?
不是同一个是别人的没有接口让我直接登录
解决方案六:
引用1楼myhope88的回复:
没弄过,帮顶下
谢谢
解决方案七:
引用3楼huaneramn的回复:
日,好长啊,一般几行就搞定了
求示例啊大神
解决方案八:
引用4楼zzcqianghan的回复:
Quote: 引用2楼cnceohjm的回复:
跳转以后登录状态没了?是同一个项目吗?不是同一个是别人的没有接口让我直接登录
直接登录,你取人家的用户名密码直接登录吗?登录状态在你的网站显示,还在别人的网站显示?
解决方案九:
引用7楼cnceohjm的回复:
Quote: 引用4楼zzcqianghan的回复:
Quote: 引用2楼cnceohjm的回复:
跳转以后登录状态没了?是同一个项目吗?不是同一个是别人的没有接口让我直接登录
直接登录,你取人家的用户名密码直接登录吗?登录状态在你的网站显示,还在别人的网站显示?
就是他在我的页面上输入账号密码然后我用这个账号密码直接登录到他的网站上我现在能够获取到登录后网站的HTML但是怎么能跳转到登录后的页面呢
解决方案十:
请问楼主解决了吗求分享解决办法
解决方案十一:
单点登录有这么难