zoukankan      html  css  js  c++  java
  • 您必须先调用“WebSecurity.InitializeDatabaseConnection”方法。。。

    有如下代码:

            [Authorize]
            public ActionResult Index()
            {
                ViewBag.ShowList = ShowList.GetShowList(WebSecurity.CurrentUserId);
                return View();
            }

    一运行,报错:

    您必须先调用“WebSecurity.InitializeDatabaseConnection”方法,然后再调用"WebSecurity"类的任何其他方法。此调用应当放在站点根目录的 _AppStart.cshtml 文件中。

    原来要加上特性

            [Authorize]
            [InitializeSimpleMembership]
            public ActionResult Index()
            {
                ViewBag.ShowList = ShowList.GetShowList(WebSecurity.CurrentUserId);
                return View();
            }

    如果一个个ACTION地加,也可以加在Controller上

        [InitializeSimpleMembership]
        public class UserController : Controller
        {
            //
            // GET: /User/
            
            [Authorize]
            public ActionResult Index()
            {
                ViewBag.ShowList = ShowList.GetShowList(WebSecurity.CurrentUserId);
                return View();
            }
    }

    解决方法 1:

    您可以添加 [InitializeSimpleMembership] 到您的控制器而不是为每个操作的顶部,可以使用WebSecurity.GetUserId(User.Identity.Name)

    或者,您可以使用

    var userId = Membership.GetUser(User.Identity.Name).ProviderUserKey;

    参考文章:

    http://www.itstrike.cn/Question/6a7fbe3b-f44e-430c-94c6-f760c713063



  • 相关阅读:
    settTimeout vs setInterval
    JS继承
    JS创建对象
    原型链
    开始学习python的感受
    Problem 29
    Python 查看关键字
    Problem 21
    Problem 34
    Problem 42
  • 原文地址:https://www.cnblogs.com/leftfist/p/4257963.html
Copyright © 2011-2022 走看看