asp.net-mvc-4 – 你必须调用“WebSecurity.InitializeDatabaseC
我已经阅读了关于这个主题的一些SO问题,但似乎都在处理你应该把这个电话放在哪里.
我的问题是不同的:我已经完成了WebSecurity.InitializeDatabaseConnection()调用,并设置了断点,所以我知道它已被执行.但我仍然得到无效操作异常,说我必须调用它. 与MVC控制器操作中包含它的大多数其他问题不同,我遇到了一个HttpModule,我编写了HttpModule来完成REST WebAPI控制器的身份验证. Init调用包含WebSecurity.InitializeDatabaseConnection调用.然后,OnAuthenticationRequest方法从请求的Authorization标头中提取用户名和密码信息,并调用SimpleMembershipProvider的ValidateUser方法.这是我得到例外的地方
所以 a)当我已经达到了不能得到它的条件时,为什么我会得到这个例外. 解决方法
经过几个小时面对同样的问题并设置了许多断点后,我找到了适合我环境的解决方案,我希望其他人可以从中受益:
在文件夹App_Start中 public class FilterConfig { public static void RegisterGlobalFilters(GlobalFilterCollection filters) { var attr=new InitializeSimpleMembershipAttribute(); // here is the important part attr.OnActionExecuting(new ActionExecutingContext()); filters.Add(attr); } } 背景:在我的应用程序中,我有2个视图: > /帐户/注册:这是标准asp.mvc 4模板的一部分,并具有[AllowAnonymous]属性 我总是在以下的引文中遇到问题: >在浏览器中调试会话 此时,尚未调用类InitializeSimpleMembershipAttribute中的方法“OnActionExecuting”(通过设置断点确定)! 但是当我打开一个不需要授权的View(即/ Account / Register)时,调用了方法“OnActionExecuting”.在此之后,我可以无错误地调用/ Task. 所以解决方案是在应用程序启动时为“OnActionExecuting”创建一个“伪调用”. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 如何显示或隐藏基于角色的控件 – ASP.NET MVC 4 Razor
- asp.net – 如何在WCF服务中返回值后继续处理
- asp.net – MVP MVC和MVVM之间的区别
- asp.net-mvc-3 – 我怎么能用CheckBoxFor使用int?
- 如何将应用程序从经典ASP迁移到ASP.NET MVC?
- asp.net-mvc-3 – MVC-Mini-Profiler错误地显示重复的查询
- 如何在ASP.NET MVC中具有相同名称的文件夹和控制器?
- asp.net – 拒绝直接访问文件夹(仅允许通过应用程序)
- asp.net – Web配置转换不工作
- asp.net-core – 无法解析“Microsoft.ApplicationInsights
- asp.net-mvc-4 – MVC 4.5 Web API路由无法正常工
- asp.net-web-api – Windows.Web.Http.HttpClien
- asp.net – aspx页面中的选项卡
- asp.net-mvc – 在ASP MVC 2中向控制器发送参数
- asp.net-core – 无法关闭asp.net 5 MVC 6站点中
- ASP.NET Core 2.0 Web API基于JWT自定义策略授权
- asp.net – 客户端缓存vs Cookie
- asp.net-mvc – 如何在ASP.NET MVC Web API中将U
- VS 2015 Update 2 – 调试时不存在变量,为什么?
- 如何使用ASP.NET MVC中的正确密钥向ModelState添