我知道这个问题被发布了很多次,但我仍然不知所措。
我在我的 ASP.NET MVC 项目中使用身份。
注意:我的项目并不完全是一个 SPA,而是介于两者之间,所以如果他/她没有登录,我需要用户简单地转到“主页”。
但是通过使用“Authorize”属性,总会有一个“ReturnUrl”作为查询字符串附加。
根据我在下面的链接中读到的内容,这件事没有简单的配置:
而且我找不到应该在哪里添加上面链接中提到的代码,即:
.AddCookie(options =>
所以我做了什么作为解决方法:
- 根据 ASP.NET Identity 的默认行为,如果用户没有登录,用户将被重定向到一个动作。
- 我以这种方式更改了“登录路径”:
services.ConfigureApplicationCookie(options =>
{options.LoginPath = new PathString("/notsignedin");
});
然后创建了它的动作,这个动作的作用是将用户重定向到没有“ReturnUrl”查询字符串的“主页”。代码如下:
[Route("notsignedin")]
public IActionResult NotSignedIn()
{
return RedirectToAction("Index");
}
虽然它有效,但我不太喜欢它,因为它会重定向用户两次。
由于我是初学者,我并不真正了解 ASP 中可用的所有功能,因此我感谢任何帮助。