ASP.NET MVC 4全局授权过滤器强制在AllowAnonymous操作上登录
发布时间:2020-12-16 00:38:04 所属栏目:asp.Net 来源:网络整理
导读:在我的.NET MVC 4中,我添加了一个全局过滤器,以保护我的控制器。 这是使用: public static void RegisterGlobalFilters(GlobalFilterCollection filters){ filters.Add(new HandleErrorAttribute()); filters.Add(new System.Web.Mvc.AuthorizeAttribute(
在我的.NET MVC 4中,我添加了一个全局过滤器,以保护我的控制器。
这是使用: public static void RegisterGlobalFilters(GlobalFilterCollection filters) { filters.Add(new HandleErrorAttribute()); filters.Add(new System.Web.Mvc.AuthorizeAttribute()); } 这是从我的Global.cs类调用的。 我的Web.config文件包含一个标准配置: <authentication mode="Forms"> <forms loginUrl="~/Account/Login" timeout="2880" /> </authentication> 我的登录操作用[AllowAnonymous]装饰,以允许匿名用户登录。 迄今为止,一切都很好。这是我的登录操作: [AllowAnonymous] public ActionResult Login(string returnUrl) { ViewBag.ReturnUrl = returnUrl; return View(); } 现在,我想添加一个重置密码页面,也就是登录页面应该可以给匿名用户使用。我创建了我的动作(在同一个登录操作的控制器下),并用[AllowAnonymous]装饰进行装饰: [AllowAnonymous] public ActionResult ResetPasswordForUser(string message = "") { ViewBag.message = message; return View(); } 然后创建相应的视图。 我将此链接添加到我的登录页面: @Html.ActionLink("Forgot your password?","ResetPasswordForUser","Account") 在运行时,当我使用匿名用户单击此链接时,我会获得ResetPasswordForUser操作,但是当返回视图时,将会调用Login操作,我永远无法实现所需的视图。由于某些原因,即使我使用[AllowAnonymous]装饰,我的请求也被截获。 我在这里遗漏了什么吗? 提前致谢 UPDATE1: 根据Darin Dimitrov请求添加我的ResetPasswordForUser视图: @using TBS.Models @model TBS.ViewModels.ResetPasswordForUserViewModel @{ ViewBag.Title = "Reset Password"; } @using (Html.BeginForm()) { @Html.ValidationSummary(true) <table class="edit-table rounded bordered" style="width: 400px"> <tr> <td class="label-td"> @Html.LabelFor(m => m.Username) </td> <td> @Html.TextBoxFor(m => m.Username) @Html.ValidationMessageFor(model => model.Username) </td> </tr> <tr> <td class="label-td"> @Html.LabelFor(m => m.Password) </td> <td> @Html.Password("Password") @Html.ValidationMessageFor(model => model.Password) </td> </tr> <tr> <td colspan="2" style="text-align: center"> <input type="submit" value="Reset" /> </td> </tr> </table> } 解决方法
ResetPasswordForUser视图使用的_Layout文件是否可以调用尚未使用AllowAnonymous装饰的控制器中的Action(例如,在菜单中)?
这将导致这种类型的行为。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – ASP.NET MVC – 不同角色的菜单
- asp.net-mvc – AntiForgeryToken登录后无效
- asp.net – 使用MVC2的AJAX请求中的CSRF保护
- 浅谈ASP.NET Core 2.0 部分视图(译)
- asp.net – SQL Server 2008架构更改的最佳实践
- asp.net – 进度条不是一个功能
- asp.net-mvc – 自定义EditorTemplate可以为其中的相同模型
- ASP.Net:如果我有Session ID,可以获取Session对象吗?
- 使用实体框架在ASP.Net中创建报表
- asp.net-mvc – 为什么编码逗号URL?
推荐文章
站长推荐
热点阅读