Ich bin neu bei Asp.Net, was ich tun möchte ist. Ich habe eine Web-API für den Login-Service, die eine JSON-Daten zurückgibt. Beispiel-URL des Web APiAsp.net MVC Anruf Login Web-Service
http://localhost:55500/api/Login/submit?username=abc&password=abc123
Es gibt ein JSON-Daten wie
[{"UserID":0,
"Status":"True",
"Name":"885032-59-6715",
"DepName":"Ajay"}
]
Wie kann ich meine Login-Seite in Asp.NET MVC authentifiziert. Wenn Login Erfolg (Status: True). Ich sollte zum Dashboard umleiten und die JSON-Daten auf meiner Ansichtsseite anzeigen. Wenn die Anmeldung nicht erfolgreichen, sollte es die Fehlermeldung
Meine ASP.NET MVC-Modell calss Datei:
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; }
}}
Meine ASP.NET MVC-Controller Datei:
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();
}
Als ich versuchte, mich mit diesem obigen Code einzuloggen. Es wird immer "Ungültiger Benutzername oder Passwort" angezeigt. Also vielen Dank im Voraus für Ihre Hilfe. Wir freuen uns für den Erfolg
Wie dime2lo unten Sie auf dem Laufenden muß die 'responseData' auf ein Objekt mit' json.net' deserialisieren (oder einer anderen Bibliothek) und dann überprüfen Sie die 'status' Eigenschaft. Außerdem sollten Sie Ihre Abfragezeichenfolgenparameter URL-codieren. – Igor