我使用新的 .Net 8 Blazor Web 应用程序创建了一个新的 Blazor 项目,并包含自动渲染模式和个人帐户身份验证。所有的花里胡哨。
我正在编写一个网站,该网站分为一半营销门户和一半最终用户门户。
我首先打破常规,为营销方面创建一个新的布局。这是一个简单的 div,带有“Hello World”和登录链接。
用于登录的新 Blazor 脚手架模板非常好。登录后,最终用户返回到网站的根目录。
我希望用户返回“仪表板”,因此我开始寻找可以告诉应用程序转到仪表板的配置。我发现了一些事情,比如编写一个组件并将其放入 AuthorizeView 组件中。我发现文章声称您必须在 appsettings.json 文件中设置 returnurl。我发现其他人说在配置身份验证时必须在program.cs中指定返回url。
这些都不起作用。我差点就让 AuthorizeView 工作了,但感觉有点矫枉过正了。必须有一个简单的方法来做到这一点。
事实证明,最简单的方法是在登录页面的链接中包含返回网址...
<a href="/account/login?ReturnUrl=%2FDashboard">Login</a>
而且,就像这样……魔法。将仪表板替换为您希望用户登录后前往的相对路径。