我正在构建一个带有基本账户功能(如登录、注销、注册等)的WebAPI AccountController。
我的控制器顶部使用了
在下面的方法中,除非我使用 "AllowAnonymous" 进行修饰,否则被认证的用户将是我的本地系统用户。
据我所知,AllowAnonymous告诉控制器不要对给定的方法应用Authorize属性。由于我正在构建一个Web应用程序,因此我从不想根据本地凭据进行授权。
我从MVC SPA模板中提取了这段代码,所以我想知道 - 当[AllowAnonymous]未使用时,如何更改以根据本地存储的用户凭据而不是系统用户进行授权?
我的控制器顶部使用了
[System.Web.Http.Authorize]
属性进行修饰。在下面的方法中,除非我使用 "AllowAnonymous" 进行修饰,否则被认证的用户将是我的本地系统用户。
// GET/api/isAuthenticated
// [System.Web.Http.AllowAnonymous]
[System.Web.Http.HttpGet]
public HttpResponseMessage IsAuthenticated()
{
if (User.Identity.IsAuthenticated)
{
var userProfile = _service.GetUserProfile(WebSecurity.CurrentUserId);
return Request.CreateResponse(HttpStatusCode.OK, userProfile);
}
else
{
return Request.CreateResponse(HttpStatusCode.OK, false);
}
}
据我所知,AllowAnonymous告诉控制器不要对给定的方法应用Authorize属性。由于我正在构建一个Web应用程序,因此我从不想根据本地凭据进行授权。
我从MVC SPA模板中提取了这段代码,所以我想知道 - 当[AllowAnonymous]未使用时,如何更改以根据本地存储的用户凭据而不是系统用户进行授权?