我在使用ASP.NET MVC 4项目中的Authorize
属性时遇到了麻烦
每当登录正确时,我都会尝试将用户重定向到授权页面。
这是我正在使用的用户控制器
Public Class UserController
Inherits System.Web.Mvc.Controller
'
' GET: /Account
Function Index() As ActionResult
Return RedirectToAction("Login")
End Function
<HttpGet, AllowAnonymous>
Function Login() As ActionResult
If User.Identity.IsAuthenticated Then
Return RedirectToAction("x")
End If
Return View("Login")
End Function
<HttpPost, AllowAnonymous>
Function Login(ByVal username As String, ByVal password As String) As ActionResult
Dim objService As New AuthenticateServiceClient
If objService.ADAuthenticate(username, password) Then
FormsAuthentication.SetAuthCookie(username, False)
Return RedirectToAction("x")
Else
ModelState.AddModelError("e", "The provided credentials are invalid")
Return View("Login")
End If
End Function
<HttpPost, Authorize>
Function Logout() As ActionResult
FormsAuthentication.SignOut()
Return RedirectToAction("Login", "User")
End Function
<Authorize>
Function x() As ActionResult
Return View("Login")
End Function
End Class
但是当我正确登录并且用户被重定向时,我收到HTTP错误401.0 - 未经授权。
我错过了一些配置?
此致
答案 0 :(得分:0)
相当愚蠢的错误。
发布的web.config不是源控件/本地控件。它缺少配置信息。
<authentication mode="Forms">
<forms loginUrl="~/User/Login" timeout="2880"/>
</authentication>