我遇到了 AuthenticationConfiguration 的问题,当我将 AuthenticationConfiguration 放在 WebApiConfig 中时,我的 $http 请求停止工作。我收到错误无法加载资源:服务器响应状态为 403(需要 HTTPS。)。
角度请求
$http.get(defaultUrl + '/' + 'IsLoggedIn');
public class AuthenticationServiceController : ApiController
{
[System.Web.Http.HttpGet]
public HttpResponseMessage IsLoggedIn()
{
var loged = System.Web.HttpContext.Current.User.Identity.IsAuthenticated;
return Request.CreateResponse<bool>(System.Net.HttpStatusCode.OK, loged);
}
}
WebApiConfig.cs
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
var authConfig = new AuthenticationConfiguration
{
InheritHostClientIdentity = true,
ClaimsAuthenticationManager = FederatedAuthentication.FederationConfiguration.IdentityConfiguration.ClaimsAuthenticationManager
};
// setup authentication against membership
authConfig.AddBasicAuthentication((userName, password) => Membership.ValidateUser(userName, password));
config.MessageHandlers.Add(new AuthenticationHandler(authConfig));
}