C# 本地主机请求:/origin';http://localhost:' 已被CORS阻止
我制作了一个asp.net web api,当我试图通过在api内部创建视图来访问它时,它可以完美地工作。我已经做了一个注册,一个登录和一个数据页,在那里你是重定向后登录。其中显示了包含一些数据的表格。这可以通过api视图本身完美地工作。现在这里出现的问题是,如果我尝试注册,将另一个项目添加到解决方案中,它将完美地工作。但我似乎无法登录。我被cors错误阻塞了。尽管我在api项目中启用了cors 这是jquery:C# 本地主机请求:/origin';http://localhost:' 已被CORS阻止,c#,.net,api,model-view-controller,C#,.net,Api,Model View Controller,我制作了一个asp.net web api,当我试图通过在api内部创建视图来访问它时,它可以完美地工作。我已经做了一个注册,一个登录和一个数据页,在那里你是重定向后登录。其中显示了包含一些数据的表格。这可以通过api视图本身完美地工作。现在这里出现的问题是,如果我尝试注册,将另一个项目添加到解决方案中,它将完美地工作。但我似乎无法登录。我被cors错误阻塞了。尽管我在api项目中启用了cors 这是jquery: $.ajax({ ur
$.ajax({
url: 'http://localhost:58334/token',
method: 'POST',
contentType: 'application/json',
data: {
username: $('#txtUsername').val(),
password: $('#txtPassword').val(),
grant_type: 'password'
},
success: function (response) {
sessionStorage.setItem("accessToken", response.access_token);
sessionStorage.setItem("userName", response.userName);
window.location.href = "Data.html";
},
error: function (jqXHR) {
$('#divErrorText').text(jqXHR.responseText);
$('#divError').show('fade');
}
});
});
startup.auth.cs类:
公共部分类启动
{
静态启动()
{
PublicClientId=“self”
您如何访问“localhost:5833”?您是否在Web服务器上托管了客户端/应用程序?如果您使用文件协议“file:\”访问服务器资源,由于浏览器的安全性,您可能会收到此cors错误。(例如,双击以在浏览器中打开HTML文件时使用的是文件:\protocol)我得到的错误是:从源站“”访问“”处的XMLHttpRequest已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许源站”标头。是否尝试添加默认凭据而不是用户名和密码?当我按登录时另一个项目的消费网页中的按钮locahost:58334/令牌链接没有点击。它给了我cors错误。如果你想在zip文件中共享整个项目,我可以从vs中的按钮运行它。两个项目位于同一个解决方案中。我通过右键单击它查看客户端页面,同时运行api。这里是一个link到整个项目。用户数据库存在于项目内部。我只需要获得一种从客户端应用程序项目登录的方法
UserManagerFactory = () => new UserManager<IdentityUser>(new UserStore<IdentityUser>());
OAuthOptions = new OAuthAuthorizationServerOptions
{
TokenEndpointPath = new PathString("/Token"),
Provider = new ApplicationOAuthProvider(PublicClientId, UserManagerFactory),
AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"),
AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(60),
AllowInsecureHttp = true
};
}
public static OAuthAuthorizationServerOptions OAuthOptions { get; private set; }
public static Func<UserManager<IdentityUser>> UserManagerFactory { get; set; }
public static string PublicClientId { get; private set; }
public void ConfigureAuth(IAppBuilder app)
{
app.UseCookieAuthentication(new CookieAuthenticationOptions());
app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
app.UseOAuthBearerTokens(OAuthOptions);
}
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
EnableCorsAttribute cors = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(cors);
}
}