首页 文章

如果用户从索引页面以外的页面进入,则重定向用户[关闭]

提问于
浏览
-2

我正在使用ASP.NET核心Razor引擎 . 我想确保用户是否去了索引页面以外的任何其他页面(cshtml文件),将它们重定向到索引页面 .

“索引”页面是用户登录的位置 . 我的策略是在每个页面上显示用户的名字 . 如果第一个名称为null,则重定向到“索引”页面 .

我有关于如何重定向的问题,还是有更好的方法来做到这一点?

这是我的代码:

<h1>Hello @TempData["first_name"] @TempData["last_name"]</h1>
 @if(TempData["first_name"]!=  null)
 {
     @{Response.Redirect("~/Index");
 }

1 回答

  • 1

    使用AuthorizeAttributeforms authentication结合使用 .

    使用AuthorizeAttribute使用AuthorizeAttribute标记操作方法时,对该操作方法的访问仅限于经过身份验证和授权的用户 . 如果使用属性标记控制器,则控制器中的所有操作方法都受到限制 . 在使用AuthorizeAttribute属性标记的控制器中,您可以使用AllowAnonymousAttribute属性指定特定操作方法不仅限于授权用户 . Authorize属性允许您指示授权仅限于预定义角色或单个用户 . 您可以使用“角色和用户”属性指定允许哪些角色或用户访问操作方法 . 这使您可以高度控制谁有权查看网站上的任何页面 . 如果未经授权的用户尝试访问使用Authorize属性标记的方法,则MVC框架将返回401 HTTP状态代码 . 如果站点配置为使用ASP.NET表单身份验证,则401状态代码会导致浏览器将用户重定向到登录页面 .

相关问题