WebClient中可否实现asp.net的Form身份验正?
是如何实现的?

解决方案 »

  1.   


    WebClient可否实现asp.net的Form身份验正 ? 可以不?学习!!!up~~~
      

  2.   

    就是做这个用的
    FormsAuthenticationTicket
      

  3.   

    service.CookieContainer = new CookieContainer();
    就OK了
      

  4.   

    WebClient.Credentials 属性 Credentials 属性包含的身份验证凭据用于访问主机上的资源。在多数客户端方案中,应使用 DefaultCredentials,这是当前登录的用户的凭据。为此,将 UseDefaultCredentials 属性设置为 true,而不是设置此属性。如果 WebClient 类用于中间层应用程序(如 ASP.NET 应用程序),则 DefaultCredentials 属于运行 ASP 页的帐户(服务器端凭据)。通常,将此属性设置为名义上发出请求的客户端的凭据。
      

  5.   

    WebClient webClient = new WebClient(); 
    Net.NetworkCredential cred = new Net.NetworkCredential(); 
    cred.UserName = "user"; 
    cred.Password = "password"; 
    webClient.Credentials = cred;
      

  6.   

    修改web.config文件 改为form 认证
      

  7.   

    有没有更详细的方案啊。
    注:用于windows Form程序。
      

  8.   

    <!--  身份验证 
              此节设置应用程序的身份验证策略。可能的模式是“Windows”、“Forms”、
              “Passport”和“None” 
               <authentication mode="Forms">
         <forms name=".SecurityDemo" loginUrl="02login.aspx" >
              
         </forms>
    </authentication>
        -->
    上面设置formFormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, tbName.Text,DateTime.Now,
    DateTime.Now.AddMinutes(30),PersistCookie.Checked,"User");
    //2) //&#65394;&#65378;&#65415;&#65426;&#65404;&#65427;&#65411;&#65436;&#65414;&#65393;&#65406;&#65437;
    string cookieStr =  FormsAuthentication.Encrypt(ticket);
                    //3) &#65396;&#65396;&#65405;&#65384;cookie
    HttpCookie cookie =new HttpCookie(FormsAuthentication.FormsCookieName,cookieStr);
    if(PersistCookie.Checked) //&#65416;郢﨧&#65411;&#65403;&#65383;&#65425;&#65377;&#65428;&#65419;&#65393;&#65379;&#65396;貪&#65436;&#65410;&#12539;
    cookie.Expires=ticket.Expiration;//&#65417;靹&#65411;cookie&#65427;&#65424;&#65424;&#65383;&#65414;&#65434;
    //cookie&#65396;豺&#65413;&#65410;&#65399;&#65406;&#65398;
    cookie.Path = FormsAuthentication.FormsCookiePath;
                    Response.Cookies.Add(cookie);
    // 4) do a redirect
    string strRedirect;
    strRedirect=Request["ReturnUrl"];
    if(strRedirect==null)
    strRedirect="default.aspx";
    Response.Redirect(strRedirect,true);
    }
    else
    Response.Write("<script language='javascript'>alert('000000')</script>");