「WebSecurity.InitializeDatabaseConnection」メソッドを呼び出す必要があります.の
次のコードがあります.
実行すると、エラーが表示されます.
一つ一つACTIONで加えれば、Controllerにも加われます
各操作の上部ではなく、コントローラに
または、
参考記事:
http://www.itstrike.cn/Question/6a7fbe3b-f44e-430c-94c6-f760c713063
[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