Azure AD認証を使用してユーザーを認証するAsp.net MVCアプリケーションがあります。私はユーザーがログインせずにいくつかのAPIコントローラにアクセスできるようにしたい。私は[AllowAnonymous]属性をコントローラの上に置いて、これらのコントローラを認証からスキップすることを試みましたが、常に資格証明のためのMicrosoftログインページにリダイレクトしました。 Startup.csのコードスニペット:AllowAnonymousが晴天広告認証で動作していません
public void ConfigureAuth(IAppBuilder app)
{
string clientId = GetConfigValue("ida_ClientId");
string aadInstance = GetConfigValue("ida_AADInstance");
string tenant = GetConfigValue("ida_Tenant");
string domain = GetConfigValue("ida_Domain");
string authority = GetConfigValue("ida_Authority");
string postLogoutRedirectUri = GetConfigValue("ida_RedirectUri");
bool devEnvironment = Convert.ToBoolean(GetConfigValue("DevEnvironment"));
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
app.UseCookieAuthentication(new CookieAuthenticationOptions()
{
CookieHttpOnly = true,
CookieSecure = devEnvironment ? CookieSecureOption.SameAsRequest : CookieSecureOption.Always,
});
app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions
{
ClientId = clientId,
Authority = authority,
PostLogoutRedirectUri = postLogoutRedirectUri,
RedirectUri = postLogoutRedirectUri,
Notifications = new OpenIdConnectAuthenticationNotifications
{
AuthenticationFailed = context =>
{
context.HandleResponse();
context.Response.Redirect("/Error?message=" + context.Exception.Message);
return Task.FromResult(0);
}
}
});
}
private string GetConfigValue(string key)
{
if (RoleEnvironment.IsAvailable)
{
return RoleEnvironment.GetConfigurationSettingValue(key);
}
else
{
return ConfigurationManager.AppSettings[key];
}
}
}
何かが不足している場合は教えてください。事前に感謝します
を参照することができますし、それを展開しました[簡易認証](https://docs.microsoft.com/en-us/azure/app-service/app-service-authentication-overview)を有効にしますか? –
こんにちは@FeiXue、あなたの助けてくれてありがとうございます。また、[簡単な認証](https://docs.microsoft.com/en-us/azure/app-service/app-service-authentication-overview)の例をいくつかリンクしてください。前もって感謝します。 –