我们有一个ASP.NET MVC Web应用程序,我们使用azure b2c身份验证。 mvc应用程序中有几个控制器和视图。每当用户想要访问控制器时,我们都会检查他是否已登录?在此基础上,如果用户已经签名,则只有我们才能访问他。在每个控制器的.cs文件中,我们放置了如下代码:
if (Request.IsAuthenticated)
{
some code;
return View();
}
else
{
return RedirectToAction("Login", "Home");
}
这种类型的代码在控制器的每个动作方法上。它的工作正常,但大多数情况下它会在登录页面上频繁地将用户踢出系统以重新签名。
任何人都告诉我如何在每个控制器的mvc应用程序中将这种类型的代码集中化,这样它就不会让我离开系统。请帮忙。感谢。
答案 0 :(得分:1)
要限制对ASP.NET MVC视图的访问,请限制对呈现视图的操作方法的访问。为此,MVC框架提供了AuthorizeAttribute类。
它的工作正常但很多时候它会在登录页面上频繁地将用户踢出系统以重新签名。
您的意思是说在网络会话过期后,网络应用程序会将网页请求重定向到登录页面吗?如果我理解正确,这是预期的行为。如果您希望Web应用程序在用户处于活动状态时保持活动状态,则可以启用SlidingExpiration。