Ajax MVC-身份验证后重定向并记住
我有一个MVC登录页面,在该页面中,我使用AJAX post方法对用户进行身份验证 一旦用户名和密码通过身份验证,我想将用户从Home/Index重定向到另一个控制器方法Home/Main 这是我的家庭控制器:Ajax MVC-身份验证后重定向并记住,ajax,asp.net-mvc,authentication,redirecttoaction,Ajax,Asp.net Mvc,Authentication,Redirecttoaction,我有一个MVC登录页面,在该页面中,我使用AJAX post方法对用户进行身份验证 一旦用户名和密码通过身份验证,我想将用户从Home/Index重定向到另一个控制器方法Home/Main 这是我的家庭控制器: Function Index() As ActionResult Return View() End Function Function Main() As ActionResult Return View() End Function 以下是我的ajax post方
Function Index() As ActionResult
Return View()
End Function
Function Main() As ActionResult
Return View()
End Function
以下是我的ajax post方法:
<script type="text/javascript">
$(document).ready(function () {
$('#BtnLogin').click(function () {
var userInfo = {
UserName: $('#txtusername').val(),
Password: $('#TxtPassword').val()
};
$.ajax({
url: '@Url.Content("~/api/Users/CheckUser")',
type: 'POST',
data: JSON.stringify(userInfo),
dataType: 'json',
contentType: "application/json; charset=utf-8",
success: function (responseData) {
for (var i = 0; i < responseData.length; i++) {
if (responseData[i].isErrorBool == '1') {
document.getElementById("LblErrors").innerHTML = responseData[i].isErrorMessage;
}
else {
//redirect
}
}
}
});
});
});
</script>
和我的Web API:
<HttpPost>
Public Function CheckUser(LGIN As LoginModel) As List(Of VerifyReturnLogin)
Dim ReturnJson = Nothing
Dim sb As New StringBuilder()
Dim sw As New StringWriter(sb)
Try
Using jsonWriter As JsonWriter = New JsonTextWriter(sw)
jsonWriter.WriteStartArray()
jsonWriter.WriteStartObject()
Dim c As List(Of UserProfile) = userRepository.CheckUser(LGIN.UserName.Trim, LGIN.Password.Trim)
If c.Count = 0 Or c Is Nothing Then
jsonWriter.WritePropertyName("isErrorBool")
jsonWriter.WriteValue("1")
jsonWriter.WritePropertyName("isErrorMessage")
jsonWriter.WriteValue("Wrong Username or Password.")
jsonWriter.WriteEndObject()
jsonWriter.WriteEndArray()
ReturnJson = JsonConvert.DeserializeObject(Of List(Of VerifyReturnLogin))(sb.ToString)
Return ReturnJson
Else
'Redirect to Home/Main
End If
End Using
Catch ex As Exception
End Try
End Function
重定向的最佳位置在哪里?客户端还是服务器端
登录后,在MVC中像在ASP.net中一样使用会话是否明智,以确保用户在每次刷新时都经过身份验证,可以转到Home/Main
任何帮助都将不胜感激。您应该在javascript窗口中使用。位置=http://www.yoururl.com; 当你有 //重定向
谢谢我如何确保用户每次进入Home/Main时都首先进入Home/Login?您可以使用Authorizate属性。好的,我删除我的答案。我认为问题在于重定向,而不是身份验证。你问在asp.net MVC framewrok中用户通常是如何重定向的,我发表了我的意见,展示了一些代码,你说这不是相同的身份验证方法。我从未见过通过编写JS在这个框架中重定向。但好吧,如你所愿。