asp.net – 在调用“WebSecurity”类的任何其他方法之前,必须调用“WebSecurity.Initia
|
我无法使WebSecurity对象在任何地方工作,除了已经在AccountController.cs文件中生成。帐户控制器的[InitializeSimpleMembership]属性设置在顶部。登录功能不要抱怨调用WebSecurity.Login(…),例如。我向AccountController添加了一个小孩操作: [ChildActionOnly]
[AllowAnonymous]
public ActionResult NavBar()
{
NavBarViewModel viewModel = new NavBarViewModel();
viewModel.LinkItems = new List<NavBarLinkItem>();
if (Request.IsAuthenticated)
{
SimpleRoleProvider roleProvider = new SimpleRoleProvider();
if (roleProvider.IsUserInRole(User.Identity.Name,"User"))
{
viewModel.LinkItems.Add(new NavBarLinkItem()
{ Title = "Create Project",Action = "Create",Controller = "Project" });
}
}
viewModel.LinkItems.Add(new NavBarLinkItem() { Title="Help",Action="Index",Controller="Help" });
return PartialView("_NavBar",viewModel);
}
原来是这样,代码崩溃在“if(roleProvider.IsUserInRole(User.Identity.Name,”User“))”与主题错误消息。所以我进入InitialzeSimpleMembershipAttribute.cs文件,并将这行复制/粘贴到我的函数的顶部: WebSecurity.InitializeDatabaseConnection("DefaultConnection","UserProfile","UserId","UserName",autoCreateTables: true);
…并收到WebSecurity.InitializeDatabaseConnection只应调用一次的错误消息。这是有道理的,因为在控件定义的顶部有一个应该已经调用了这个函数的属性(看起来好像这样)。所以要安全,我更改以上调用: if (!WebSecurity.Initialized)
{
WebSecurity.InitializeDatabaseConnection("DefaultConnection",autoCreateTables: true);
}
…并收回原来的错误消息,WebSecurity.InitializeDatabaseConnection应该在blah blah blah之前调用。对这种疯狂的任何洞察将不胜感激 解决方法这里有一个更好的解释:http://odetocode.com/blogs/scott/archive/2012/09/24/perils-of-the-mvc4-accountcontroller.aspx 这就是你要做的所有事情: >从AccountController顶部删除[InitializeSimpleMembership] 您不必将InitializeDatabaseConnection()调用添加到AuthConfig.RegisterAuth(),但它似乎是逻辑的位置,并保持您的Global.asax更清洁。 你本来在做的是从原始属性中提取初始化调用,并在Application_Start上显式调用它。属性中的其他内容只是条件检查,以防您不使用(或不需要)SimpleMembership。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – ASP.NET MVC:很多路由 – 总是只有一个控制
- 用Dataset对象读取XML内容来绑定下拉列表框
- asp.net-mvc – 在构建时尝试构建ASP MVC视图时出错
- .net – MVC3部分视图与常规视图
- asp-classic – VBScript条件短路解决方法
- asp.net-mvc – MVC4 SimpleMemberhip’提供商遇到了未知错
- asp.net – Ajax Tookit TabPanel Invisible Tag Bug
- asp.net – MvcHtmlString.ToHtmlString()不编码HTML?
- Asp.Net 5分钟实现网页实时监控
- asp.net – 如果在Application_Start中抛出未处理的异常会发
- 是否可以在.NET中将WinForm转换为WebForm?
- asp.net-mvc – ASP.NET MVC快速启动 – 一站式教
- asp.net-mvc-4 – Durandal.js:更改每个区域的导
- asp.net-mvc – 什么是应用程序洞察遥测(未配置)
- asp.net-mvc – 从DataAnnotation类中渲染LabelF
- asp.net – 从JavaScript读取web.config
- ASP.NET Web API可以在与MVC相同的URL上工作吗?
- asp.net – 如何在使用无cookie的静态内容服务器
- asp.net-mvc – ASP.NET MVC页面不通过3G或某些代
- asp.net – 这些Web Essentials选项有什么作用?
