標準のMVC4「インターネットテンプレート」を使用してポータルを作成しました。モバイルデバイスに関するいくつかの情報を開示したいと思います。
標準の「モバイルテンプレート」を使用すると、アカウントモデルは「インターネットテンプレート」とは異なります。
同じモデルにマッピングする最も簡単な方法は何ですか?
標準のMVC4「インターネットテンプレート」を使用してポータルを作成しました。モバイルデバイスに関するいくつかの情報を開示したいと思います。
標準の「モバイルテンプレート」を使用すると、アカウントモデルは「インターネットテンプレート」とは異なります。
同じモデルにマッピングする最も簡単な方法は何ですか?
「インターネット テンプレート」を使用して (ログインするために) 必要なものは、いくつかの小さな変更です。
ログインに WebSecurity を使用する
[AllowAnonymous]
[HttpPost]
public ActionResult Login(LoginModel model, string returnUrl)
{
if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe))
{
return RedirectToLocal(returnUrl);
}
RedirectToLocal() を追加します
WebMatrix を追加します。WebMatrix.Data および WebMatrix.WebData への参照を作成します。どちらの Dll についても、プロパティ ウィンドウでプロパティを変更し、Copy local True を設定します。次に使用します。
using WebMatrix.WebData;
web.config を編集し、roleManager のメンバーシップの行を変更します
<membership defaultProvider="SimpleMembershipProvider">
<providers>
<add name="SimpleMembershipProvider" type="WebMatrix.WebData.SimpleMembershipProvider, WebMatrix.WebData" />
</providers>
</membership>
<roleManager defaultProvider="SimpleRoleProvider">
<providers>
<add name="SimpleRoleProvider" type="WebMatrix.WebData.SimpleRoleProvider, WebMatrix.WebData"/>
</providers>
</roleManager>
データベース接続を初期化します。
WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true);