之前的代码,用来从文档库下载文件,使用WebClient+NetworkCredential的方式认证用户和下载文件。在Form认证或者AD认证的情况下,输入用户名和密码即可通过认证下载文件,但是在SSO环境中,这样不行了,有人写过在SSO环境中下载文件的代码吗?主要是认证的代码。
代码很简单:
using (WebClient client = new WebClient())
{
ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true;
NetworkCredential credential = new NetworkCredential(UserName, Password);
credential = new NetworkCredential(UserName, Password, Domain);
client.Credentials = credential;
... ...
byte[] byteData = client.DownloadData(jobSetting.FilePath);
}
------解决思路----------------------
SSO 单点环境中哦
方式很多哦,
要看怎么搭建的 总之 你都要去去获取 当前用户信息的。你的代码获不到吗?
NetworkCredential credential = new NetworkCredential(UserName, Password);
credential = new NetworkCredential(UserName, Password, Domain);
要看他们是怎么搭建的 抓一下。 令牌, Kerberos 等等 你哪里获取 就行了。
------解决思路----------------------
NetworkCredential(UserName, Password, Domain);
感觉参数是不是有问题,既然sp是ADFS认证了,后面domain也应该填写adfs认证的标识,而非域名?
------解决思路----------------------
Check
不太了解ADFS,你看看这个有用没