我有带有授权系统的 asp .net mvc 应用程序。控制台(或 winforms,没关系)应用程序使用 WebRequest 将一些数据发布到服务器。一切正常,但知道我需要检查,是否经过用户授权,然后退回。所以,我在检查
User.Identity.IsAuthenticated
它返回false。但是在浏览器中我已经过身份验证,并且这种方法在 mvc-aplication 中明显有效,但是当控制台应用程序发送请求时,它不起作用。如何解决?
我用它来加载我的文件
我有带有授权系统的 asp .net mvc 应用程序。控制台(或 winforms,没关系)应用程序使用 WebRequest 将一些数据发布到服务器。一切正常,但知道我需要检查,是否经过用户授权,然后退回。所以,我在检查
User.Identity.IsAuthenticated
它返回false。但是在浏览器中我已经过身份验证,并且这种方法在 mvc-aplication 中明显有效,但是当控制台应用程序发送请求时,它不起作用。如何解决?
我用它来加载我的文件
当您创建 Web 请求(我假设您的意思是HttpWebRequest
)时,请确保将其配置为发送 Windows 凭据。
对于HttpWebRequest
,您将设置UseDefaultCredentials
为true
:
HttpWebRequest
当此对象发出的请求(如果服务器请求)应使用当前登录用户的凭据进行身份验证时,将此属性设置为 true 。
本质上,您的控制台应用程序还需要将请求中的“表单身份验证 cookie 或票证”发送到您的 Web 服务器。这篇文章可能会有所帮助http://www.codeproject.com/Articles/187198/Various-Clients-and-Forms-Authentication。