我制作了剃刀页面来注销用户。当经过身份验证的用户访问路由时/account/logout,我想向他显示带有成功消息的页面,如果用户是匿名的,则页面未授权。但是,不能通过直接 url 输入访问此成功页面。
以下代码运行良好,除了任何人都可以导航到/account/logout/success正常页面(并且由于它不负责注销,因此可能会造成混淆)。
public class LogoutModel : CustomPageModel
{
private readonly SignInManager _signInManager;
public LogoutModel(SignInManager signInManager) => _signInManager = signInManager;
public async Task<IActionResult> OnGetAsync()
{
if (_signInManager.IsSignedIn(User))
{
await _signInManager.SignOutAsync();
return RedirectToPage("Logout", "Success");
}
return Unauthorized();
}
public void OnGetSuccess()
{
}
}
如何防止直接访问处理程序 OnGetSuccess?
米琪卡哇伊
慕少森
交互式爱情
相关分类