[英]How to pass credentials in defaultProxy config setting?
A client is unable to use my webpart because he is behind a proxy server and they need to specify a username and password to get past the proxy. 客户端无法使用我的webpart,因为他位于代理服务器后面,他们需要指定用户名和密码才能通过代理。 I have this in my config file right now: 我现在在配置文件中有这个:
<system.net>
<defaultProxy>
<proxy usesystemdefault="False" proxyaddress="http://127.0.0.1:8888" bypassonlocal="True" />
</defaultProxy>
</system.net>
Is there a way to supply a username and password to this proxy setting? 有没有办法为这个代理设置提供用户名和密码?
I'm not aware of a way to do this in defaultProxy section of web.config, but you can definitely do it from code. 我不知道在web.config的defaultProxy部分执行此操作的方法,但您绝对可以从代码中执行此操作。 Try this: 尝试这个:
// Get proxy server info from AppSettings section of Web.Config
var proxyServerAddress = ConfigurationManager.AppSettings[ "proxyServerAddress" ];
var proxyServerPort = ConfigurationManager.AppSettings[ "proxyServerPort" ];
// Get proxy with default credentials
WebProxy proxy =new WebProxy(proxyServerAddress, proxyServerPort);
proxy.Credentials = System.Net.CredentialCache.DefaultCredentials();
Web.Config (configuration section): Web.Config(配置部分):
<appSettings>
<add key="proxyServerAddress" value="proxy.myhost.com" />
<add key="proxyServerPort" value="8080" />
</appSettings>
And then assign proxy
to the webClient you are using in your webPart. 然后将proxy
分配给您在webPart中使用的webClient。
EDIT: 编辑:
If I had done more homework, I would have realized your problem could have been fixed with one attribute: useDefaultCredentials="true" 如果我做了更多的功课,我会意识到你的问题可以用一个属性修复:useDefaultCredentials =“true”
<system.net>
<defaultProxy useDefaultCredentials="true">
<proxy usesystemdefault="False" proxyaddress="http://127.0.0.1:8888" bypassonlocal="True" />
</defaultProxy>
</system.net>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.