如何在Blazor中使用带有自定义身份验证逻辑的AuthorizeView标记

如何在Blazor中使用带有自定义身份验证逻辑的AuthorizeView标记,blazor,blazor-server-side,Blazor,Blazor Server Side,我在Blazor服务器应用程序中有一个自定义身份验证系统,带有自定义数据库和一些逻辑 我想从razor中内置的AuthorizeView标签中获益。但是如果没有AspNetCore.Identity,我不知道如何使用它 现在我有一个全局属性bool被授权检查用户是否登录。 首先,我想也许我可以将IsAuthorized属性绑定到AuthorizeView标记Authorized和NotAuthorized 我通读了AuthorizeView引用,但找不到哪个属性控制它的状态 是否可以在自定义身份

我在Blazor服务器应用程序中有一个自定义身份验证系统,带有自定义数据库和一些逻辑

我想从razor中内置的AuthorizeView标签中获益。但是如果没有AspNetCore.Identity,我不知道如何使用它

现在我有一个全局属性bool被授权检查用户是否登录。 首先,我想也许我可以将IsAuthorized属性绑定到AuthorizeView标记Authorized和NotAuthorized

我通读了AuthorizeView引用,但找不到哪个属性控制它的状态


是否可以在自定义身份验证逻辑中使用AuthorizeView,而不使用内置的“Identity”?

您需要创建自己的AuthenticationStateProvider并重写GetAuthenticationStateAncy方法。我不知道您的身份验证背后的逻辑,但也许您可以使用该方法从您的身份验证逻辑创建ClaimsEntity和ClaimsPrincipal,并设置authenticationstate。为了更好地理解它的工作原理,这里有一个示例,用于创建您自己的AuthenticationStateProvider并从wasm中的令牌获取autstate:


您需要创建自己的AuthenticationStateProvider并重写GetAuthenticationStateAncy方法。我不知道您的身份验证背后的逻辑,但也许您可以使用该方法从您的身份验证逻辑创建ClaimsEntity和ClaimsPrincipal,并设置authenticationstate。为了更好地理解它的工作原理,这里有一个示例,用于创建您自己的AuthenticationStateProvider并从wasm中的令牌获取autstate:


谢谢。我用了不同的方式,但你的回答给了我一个起点。不客气!谢谢我用了不同的方式,但你的回答给了我一个起点。不客气!