首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用NetworkCredentials进行Forms身份验证失败

使用NetworkCredentials进行Forms身份验证失败
EN

Stack Overflow用户
提问于 2012-10-09 22:55:20
回答 1查看 3.9K关注 0票数 0

这是我用来验证自己并执行操作的方法:

代码语言:javascript
复制
var uri = new Uri(@"http://localhost:5898/forums/AddPost/1");
var request = WebRequest.Create(uri);
request.Credentials = new CredentialCache { { new Uri(@"http://localhost:5898/Account/Login"), "Basic", new NetworkCredential("asdf", "ghijkl") } };
request.Method = "POST";

const string strPost = "Content=TestAplikacji&AddedValue=0";
StreamWriter myWriter = null;

request.ContentLength = strPost.Length;
request.ContentType = "application/x-www-form-urlencoded";

string response;
try
{
    myWriter = new StreamWriter(request.GetRequestStream());
    myWriter.Write(strPost);
}
catch
{

}
finally
{
    if (myWriter != null) myWriter.Close();
}

var objResponse = (HttpWebResponse)request.GetResponse();
using (var sr = new StreamReader(objResponse.GetResponseStream()))
{
    response = sr.ReadToEnd();
    sr.Close();
}

当代码执行时,在response中,我得到登录和密码的验证错误。但是我提供的登录和密码("asdf", "ghijkl")满足了这些要求,这意味着http://localhost:5898/Account/Login不会接收我提供的凭据。我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-09 23:00:58

我认为,如果您想使用Network credential,您应该使用Windows身份验证/基本身份验证。

对于表单身份验证,您需要将usernamepassword发送到页面,就像浏览器所做的那样,并从响应中读取身份验证cookie。您应该使用此cookie与经过身份验证的页面进行进一步通信

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12802838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档