ASP.NET MVC 4全局授权过滤器强制在AllowAnonymous操作上登录
|
在我的.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 – 在父视图顶部的Jquery模态弹出窗口中渲染局
- ASP.net使用表单将数据插入到sql server表中
- 如何杀死会话或会话ID(ASP.NET/C)
- asp.net-mvc-routing – 在.NET MVC 4.0 URL结构中强制使用
- asp.net-mvc-4 – 如何在SPA HotTowel模板中设置登录视图(用
- asp.net – 如何以编程方式从LDAP检索信息
- asp.net-mvc – 将动作方法参数传递给asp.net mvc中的Actio
- .net – 如何在请求标头上调用需要承载令牌的NSwag客户端方
- 详解Asp.net Core 使用Redis存储Session
- ASP.NET Webforms,用户控件中的JavaScript
- asp.net – 在Microsoft Windows Azure上设置网站
- 在ASP.NET中使用JQuery选择ID属性
- asp.net 4路由不工作在iis 7
- asp.net – 可能导致XML解析错误:没有找到元素?
- asp.net – 有没有办法知道是否有人为您的网站添
- asp.net-mvc – 模型单元测试能否真正独立,如何[
- asp.net-mvc – 在Ubuntu 16.04中运行ASPNET Cor
- asp.net-mvc – 如何在MVC中测试ModelMetadata.F
- asp.net-mvc-5 – MVC 5 – 向用户添加声明
- asp.net-mvc – ASP.NET MVC 3自定义HTML助手 –
