asp.net-mvc – 允许Anonymous在asp.net mvc 3中调用某些操作
发布时间:2020-05-24 16:13:56 所属栏目:asp.Net 来源:互联网
导读:我有一个名为ForgetPassword的动作.每次匿名尝试检索操作时,他/她都会被重定向到登录页面.以下是我的实现. public ActionResult ForgotPassword(string UserName){ //More over when i place a breakpoint for the below line //its not even getti
|
我有一个名为ForgetPassword的动作.每次匿名尝试检索操作时,他/她都会被重定向到登录页面.以下是我的实现. public ActionResult ForgotPassword(string UserName)
{
//More over when i place a breakpoint for the below line
//its not even getting here
return View("Login");
}
这是我的web.config文件的一部分 <location path="">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
<location path="Content">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<location path="Scripts">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<location path="Images">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
<authentication mode="Forms">
<forms loginUrl="/Home/Login" timeout="5" slidingExpiration="false" />
</authentication>
解决方法因为你通过使用来拒绝所有人的申请.<authorization>
<deny users="?"/>
</authorization>
恕我直言,您不应该使用web.config来控制应用程序的身份验证,而是使用Authorize属性. 在RegisterGlobalFilters方法下的Global.asax文件中添加它 public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
filters.Add(new AuthorizeAttribute()); //Added
}
或者您也可以使用[授权]装饰您的控制器 [Authorize]
public class HomeController : Controller
{
...
}
如果您使用的是ASP.NET MVC4,则对于需要匿名访问的操作,请使用AllowAnonymous属性 [AllowAnonymous]
public ActionResult ForgotPassword() {
//More over when i place a breakpoint for the below line
//its not even getting here
return View("Login");;
}
根据Reference,您不能使用路由或web.config文件来保护您的MVC应用程序.保护MVC应用程序唯一受支持的方法是将Authorize属性应用于每个控制器,并在登录和注册操作上使用新的AllowAnonymous属性.根据当前区域做出安全决策是非常糟糕的事情,并会将您的应用程序打开到漏洞中. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 将动态JSON对象传递给Web API – Newtonsof
- ASP.NET sessionState SQLServer模式超时不起作用
- asp.net – 无法转换类型为’System.Web.UI.LiteralControl
- asp.net-mvc – Sitecore 6.6中的静态视图渲染
- asp.net-mvc – 将部分视图渲染为字符串MVC4
- asp.net – 什么时候以明文形式存储密码是个好主意?
- asp.net-core – 从appsettings.json获取ConnectionString,
- 在ASP.NET或ASP.NET MVC中生成管理界面
- asp.net-mvc-3 – html.dropdownlist MVC3混乱
- asp.net-web-api2 – 如何创建HttpRequestHeaders类的实例
推荐文章
站长推荐
- asp.net – KnockoutJS,在ajax调用后更新ViewMod
- asp.net – Firefox和Chrome之间的1像素线高差
- asp.net-mvc-3 – ASP.NET MVC 3和Razor的ASHX处
- asp.net – 可以在web.config中添加响应http头吗
- asp.net-mvc – ASP.NET MVC中的非字符串角色名称
- asp.net-web-api – ASP身份OAuth令牌 – 我应该
- asp.net – 将Eval参数从ASPX文件传递给JavaScri
- 我需要知道什么才能使asp.net应用程序全球化?
- asp.net – 基类包含字段“ScriptManager1”,但其
- asp.net-mvc-3 – MVC 3模型属性未在html.action
热点阅读
