![](/img/trans.png)
[英]Send parts of a byte[] by webclient to create a large file in server side
[英]WebClient Authentication on Server Side
我们有一个控制台应用程序(C#)和Web服务器(IIS)。 控制台应用程序需要通过HTTPS POST将文件发送到Web服务器。 现在,我们需要在控制台应用程序和Web服务器之间添加身份验证,并且尝试使用WebClient的凭据系统。
控制台应用程序的上传代码:
WebClient uploadWebClient = new WebClient();
uploadWebClient.UploadFileCompleted += new UploadFileCompletedEventHandler(UploadFileCallback);
// Authentication
uploadWebClient.UseDefaultCredentials = false;
uploadWebClient.Credentials = new NetworkCredential(usernameString, passwordString);
// Upload via HTTPS POST
uploadWebClient.UploadFileAsync(new Uri(destURI), "POST", "file.ext");
服务器端代码为:
void Page_Load(object sender, EventArgs e) {
foreach(string f in Request.Files.AllKeys) {
HttpPostedFile file = Request.Files[f];
file.SaveAs("Z:\\" + file.fileName);
}
}
我们如何在服务器端实现凭据的使用?
在IIS中使用例如Windows身份验证来保护WebSite。 然后,您可以将您的用户包含在AD中,并且如果您尝试访问该页面,并且如果不允许该用户,则会收到错误消息。
如果需要检查单个用户,则需要在数据库表中将用户存储在某个地方(例如SQL,Oracle,MySQL或任何其他数据库),然后必须获取调用Windows用户的登录信息,然后检查他/她可以通过查看db表来访问您的解决方案。
当然,如果您不需要定义角色等,则可以只在IIS中管理用户。另请参见以下文章: https : //weblogs.asp.net/owscott/iis-using-windows-authentication-with-minimal-permissions -granted-to-disk (我想这就是您要寻找的!)或特定Windows用户组的Windows身份验证或https://msdn.microsoft.com/zh-cn/library/ff647405.aspx?f= 255&MSPPError = -2147217396
由于缺少细节,无法为您提供具体的答案,但这就是您可以做到的方式。 一种是Windows身份验证,一种是IIS,可能是web.config或IIS本身中的用户管理,另一种解决方案是使调用用户位于后端,并检查您的自定义数据库。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.