据我了解,您可以通过执行“新建项目”>“ASP.NET Core Web 应用程序”>“[提供应用程序名称]”>“Web 应用程序”在 Visual Studio 2019 中创建 Razor Pages 应用程序
以下教程演示如何将 Azure Active Directory 身份验证添加到 MVC 应用程序。我让示例 MVC 应用程序可以运行。
我将本教程中的所有必要代码复制到 Razor Pages 应用程序(Program.cs 和 Startup.cs)中,但我没有收到任何身份验证提示。这是否意味着 Razor 页面不受支持?还是我做错了什么?
https://learn.microsoft.com/en-us/azure/active-directory/develop/quickstart-v2-aspnet-core-webapp
最佳答案
基本上,您的代码中需要以下三件事。
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(AzureADDefaults.AuthenticationScheme)
.AddAzureAD(options => Configuration.Bind("AzureAd", options));
services.AddRazorPages().AddMvcOptions(options =>
{
var policy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
options.Filters.Add(new AuthorizeFilter(policy));
});
}
{
"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"Domain": "<Your Domain>",
"TenantId": "<Your TenantId>",
"ClientId": "<ClientId>",
"CallbackPath": "/signin-oidc"
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*"
}
app.UseAuthentication();
app.UseAuthorization();
或者,如果您使用以下命令创建 dotnet core 应用程序,您将完成一切并为您做好准备。
dotnet new razor --auth SingleOrg --client-id <applicationId> --tenant-id <domaintenantid> --domain <domain>
关于asp.net-mvc - 如何将 Azure Active Directory 身份验证添加到 Razor Pages 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63004373/