2016-08-17 6 views
0

나는 ASP.NET 및 웹 개발에 새로운 비트, 나는에 대해 여전히 혼란 스러워요입니다 다음 :클라이언트 응용 프로그램에 로그인하여 HttpRequest를

은 매우 완전한 ASP.NET MVC 웹 사이트를 기반으로 한 손에

내가 한 로그인, 등록, 전자 상거래 기능, 포럼 등을 포함하는 NopCommerce

반면에 웹 사이트 데이터베이스에서 데이터를 읽고 쓰는 Windows Forms 클라이언트 응용 프로그램이 있습니다.

내가해야 할 일은 사용자가 서버에 요청을 보내서 클라이언트 응용 프로그램에 로그인 할 수있게하는 것입니다. 며칠 동안 웹을 둘러 보았고 정확하고 안전한 방법을 찾을 수 없었습니다.

나는 클라이언트에서 요청할 때 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); 
      } 
     } 
    } 
} 

기존 예 또는 도움을 크게 감상 할 수있다 : 여기

내가 지금까지 (전혀 완료되지 않음) 온라인으로 볼 수있는 튜토리얼을 기반으로 한 방법이다.

+0

문제가 무엇인지 좀 더 자세하게 설명해 주시겠습니까? 여기에는 대부분 텍스트 만 나오는 것이 많습니다. – thecoshman

+0

원격 서버에 자신의 신원을 확인하도록 요청하여 클라이언트가 응용 프로그램에 로그인 할 수있게하는 기본 절차를 찾고 있다고 가정 해 봅니다. –

답변

1

먼저 우리는 응용 프로그램의 아키텍처에 중점을 둘 필요가 있습니다. 여기에는 두 가지 응용 프로그램, 1) 웹 응용 프로그램, 2) WinForm 응용 프로그램이 있습니다. 그리고 당신은 같은 DB를 공유하기를 원합니다. 여기에 단점이 있습니다. 언젠가는 winform이 업데이트 등으로 인해 테이블을 잠글 것이고, 웹 어플리케이션이 액세스를 잃을 것입니다. 좋은 생각이 아닙니다.

여기 내가 어떻게 할 것입니다.

웹 응용 프로그램을위한 웹 API 플러그인을 만들고 보안을 위해 API 토큰을 사용하십시오. nopcommerce에는 사용할 수있는 웹 API 플러그인이 있지만 그 기능에는 제한이 있으므로 필요에 따라 몇 가지 방법을 추가해야 할 것입니다. 당신이 할 다음 일은 귀하의 winform 응용 프로그램이 귀하의 webapi와 통신 할 수 있습니다.이 경우 귀하의 winform은 독립적으로 안전하게 작동합니다.

보조 노트로, 원하는 경우 웹 API에 각 사용자의 여러 토큰을 가질 수 있습니다 , 당신은 귀하의 웹 API 플러그인에서 관리 할 수 ​​있습니다, 그냥 어디서나 사용자 정보와 토큰을 가진 정보를 저장하고 모든 사람을위한 테이블을 만들고 당신은 웹 관리자로부터 관리 할 수 ​​있습니다.

+0

나는 이미 내 웹 응용 프로그램 용 API를 가지고있다. (당연히 nopCommerce 커스텀 플러그인이다.) 나에게 명확하지 않은 점은 어떻게하면 HTTP 요청을 사용하여 안전한 방식으로 winform 앱과 웹 앱을 함께 통신 할 수 있는지입니다. –

+0

apitoken은 어떻습니까? 모든 요청과 함께 보내주십시오. –