私はAsp.Netを初めて使用しています。私は何をしたいですか?私はログインサービス用のWeb APIを持っています。これはjson Dataを返します。 Web APIをAsp.net MVC呼び出しログインWebサービス
http://localhost:55500/api/Login/submit?username=abc&password=abc123
のサンプルURLは、それは私がAsp.NET MVCで私のログインページを認証するにはどうすればよい
[{"UserID":0,
"Status":"True",
"Name":"885032-59-6715",
"DepName":"Ajay"}
]
のようなJSONデータを返します。ログイン成功(ステータス:True)。ダッシュボードにリダイレクトし、jsonデータをビューページに表示する必要があります。 ログインが成功しない場合は、エラーメッセージ
私のASP.NET MVCモデルcalssファイル表示される必要があります。
namespace LoginPracticeApplication.Models{
public class Login {
[Required(ErrorMessage = "Username is required")] // make the field required
[Display(Name = "username")] // Set the display name of the field
public string username { get; set; }
[Required(ErrorMessage = "Password is required")]
[Display(Name = "password")]
public string password { get; set; }
}}
私のASP.NET MVCコントローラファイル:
public ActionResult Index(Login login)
{
if (ModelState.IsValid) // Check the model state for any validation errors
{
string uname = "";
uname = login.username;
string pword = "";
pword = login.password;
string url = "http://localhost:55506/api/Login/submit?username=" + uname + "&password=" + login.password + "";
System.Net.Http.HttpClient client = new System.Net.Http.HttpClient();
client.BaseAddress = new Uri(url);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage responseMessage = client.GetAsync(url).Result;
var responseData = responseMessage.Content.ReadAsStringAsync().Result;
if (responseData=="true")
{
return View("Show", login); // Return the "Show.cshtml" view if user is valid
}
else
{
ViewBag.Message = "Invalid Username or Password";
return View(); //return the same view with message "Invalid Username or Password"
}
}
else
{
return View();
}
return View();
}
を
私はこのコードでログインしようとしました。常に「無効なユーザー名またはパスワード」が表示されます。あなたの助けを事前に感謝します。成功
は 'json.net'(またはいくつかの他のライブラリ)を使用して、オブジェクトに' responseData'をデシリアライズして、 'status'プロパティをチェックする必要があります。また、クエリ文字列パラメータをURLエンコードする必要があります。 – Igor