将 DotVVM 添加到 Asp.Net 核心并使用现有的身份验证和授权

Add DotVVM to Asp.Net Core and Use existing Authentication and Authorization

我正在开发 asp.net 核心应用程序,它已经实现了一些功能。我还在为 authenticationauthorization 使用 asp.net 核心标识,并为 Admins 添加了功能到 Add/Edit Usersassign claims。现在我想逐步添加和使用 dotvvm 一些尚未实现的新功能。

因此是否可以使用已经存在的 AuthenticationAuthorization 来实现 dotvvm 中要实现的功能?

我看过这个 DotVVM Asp.net Core Authentication 但不确定现有的 asp.net 核心身份如何。

身份验证和授权的基础结构与任何其他 ASP.NET 库没有区别。

您唯一需要做的就是确保在请求管道中注册 DotVVM 身份验证中间件之后:

app.UseCookieAuthentication(...);

app.UseDotVVM(...);

app.UseMvc(...);

您可以 MVC 之前安全地注册它。 DotVVM 会将所有与其任何路由都不匹配的请求传递给管道中的下一个中间件。

然后您可以在视图模型上使用 [Authorize] 属性来禁止用户进入页面。

有一个 sample application 将 DotVVM 和 ASP.NET MVC 结合在一个应用程序中。您可以使用说明将 DotVVM 添加到现有应用程序中。