ОК, поэтому я пытаюсь получить голову вокруг веб-api, и я хотел создать страницу входа в mokup, которая отправляет имя пользователя и пароль контроллеру проверки подлинности. Тем не менее, я не кажется, что получает что-нибудь в моем постеhtml form post to web api 2controller
это то вызывает проблемы, когда я пытаюсь проверить usernaem и пароль в мой контроллер:
public class LoginCredentials
{
public string Username { get; set; }
public string Password { get; set; }
}
public class AuthenticationController : ApiController
{
/// <summary>
/// Creates an authenticated session. If successfully authenticated returns a 'Set-Cookie' header
/// containing the cookie for future requests. On failed login attempt an HTTP
401 error is returned.
/// </summary>
[HttpPost, AllowAnonymous]
[Route("api/login")]
public HttpResponseMessage Login([FromBody]LoginCredentials credentials)
{
Logout();
credentials.Username = credentials.Username ?? string.Empty;
credentials.Password = credentials.Password ?? string.Empty;
var authResult = Authentication.Authenticate(credentials.Username,
credentials.Password);
if (authResult == null || authResult.User == null)
return Authentication.GetUnauthorisedResponse();
if (!authResult.UseAllowed)
return Authentication.GetNotUseAllowedResponse
(authResult.Status);
var authenticationManager = Request.GetOwinContext().Authentication;
authenticationManager.SignIn(authResult.User.ToIdentity());
return new HttpResponseMessage(HttpStatusCode.NoContent);;
}
}
Моя форма, таким образом, выглядит следующим образом:
<form autocomplete="off" method="post" action="/api/login" name="myLogin">
<fieldset>
<legend>Login credentials</legend>
<div class="form-group">
<label for="Username">Username</label>
<input id="Username" type="text" />
</div>
<div>
<label for="Password">Password</label>
<input id="Password" type="password" />
<span class="help-block" data-validation="Password"></span>
</div>
<div class="form-group center">
<button type="submit" class="btn btn-primary" data-disable-on-submit="true">Log
on</button>
</div>
</fieldset>
</form>
не уверен, что у меня это не так.
Бинго, атрибут имени работал обработкой. ура – CSharpNewBee