客户端应用程序使用httprequest登录

时间:2016-08-17 13:51:50

标签: asp.net asp.net-mvc login httprequest nopcommerce

我对ASP.NET和Web开发有点新,我仍然对以下内容感到困惑:

一方面,我有一个非常完整的基于NopCommerce的ASP.NET MVC网站,其中包括登录,注册,电子商务功能,论坛等。

另一方面,我有一个Windows窗体客户端应用程序,需要从我的网站数据库读取和写入数据。

我需要做的第一件事是允许用户通过向服务器发送请求来登录客户端应用程序。我已经在网上浏览了好几天,我无法找到一种准确而安全的方法。

我非常确定我必须使用 System.Net.Http 向客户端发出请求。这个请求是否会由MVC控制器动作处理?也许已经存在了?

这是我到目前为止的方法,基于在线发现的教程(它根本不完整):

private static async void PostRequest(string addressPost)
{
    IEnumerable<KeyValuePair<string, string>> queries = new List<KeyValuePair<string, string>>()
    {
        new KeyValuePair<string, string>("Query1", "Email"),
        new KeyValuePair<string, string>("Query2", "Password")
    };
    HttpContent formContent = new FormUrlEncodedContent(queries);
    using (HttpClient client = new HttpClient())
    {
        using (HttpResponseMessage response = await client.PostAsync(addressPost, formContent))
        {
            using (HttpContent content = response.Content)
            {
                string myContent = await content.ReadAsStringAsync();
                System.Diagnostics.Debug.WriteLine(myContent);
            }
        }
    }
}

非常感谢任何现有的示例或帮助。

1 个答案:

答案 0 :(得分:1)

首先我们需要关注应用程序的体系结构,我们这里有两个应用程序,1)Web应用程序,2)WinForm应用程序。并且你想为两者共享相同的数据库,这里有这样做的缺点,你可能会发现自己有一天你的winform会因为更新等而锁定一个表,而你的web应用程序将失去访问权限,这不是一个好主意,

这是我将如何做到的。

为您的Web应用程序创建一个web api插件,并使用api令牌来保证安全性,有一些可用于nopcommerce的web api插件但功能有限,所以我想你必须根据你的需要添加一些方法,接下来你要做的就是让你的winform应用程序与你的webapi进行通信,在这种情况下你的winform可以独立运行并且安全,

作为附注,如果你愿意,你可以在你的web api中为每个用户提供多个令牌,你可以在你的web api插件中管理它,只需创建一个表格,你将用这些信息存储用户信息和令牌每个人都可以通过网络管理员进行管理。