所以我在我的角色管理器中使用了三个不同的角色,当我为我的用户使用单独的注册页面和为我的商家使用一个注册页面时出现问题(这意味着我没有使用ASP.NET身份提供的注册页面,出于某些原因)。
基本上我希望它的功能是,当商家创建帐户时,它会被添加到商家角色,当用户创建和帐户时,它会被添加到用户角色。每种注册方法都有自己独立的页面。因此,如果我弄清楚如何做到这一点,我可以弄清楚如何为另一个做。被困在这几天没有结果,因此我在这里。以下是我认为您可能需要帮助我的代码。
商家控制器(创建类),是的,当我这样做时,我处于管理员角色。商家将在我的索引页面下显示,该索引页面显示商家列表,但由于某种原因,将其附加到MerchantRole只是没有采取!!
[Authorize(Roles = "Admin")]
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "MerchantID,MerchantName,State,City,StreetAddress,zip,phoneNumber,email, website")] Merchant merchant)
{
if (ModelState.IsValid)
{
db.Merchants.Add(merchant);
db.SaveChanges();
return RedirectToAction("Index");
}
var _context = new ApplicationDbContext();
var UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(_context));
UserManager.AddToRole("MerchantID", "Merchant");
return View(merchant);
}
我的连接字符串:
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source= (LocalDb)\v11.0;Initial Catalog=FlavorPing-2-1-alpha1;Integrated Security=SSPI"
providerName="System.Data.SqlClient" />
<add name="FlavorPingContext" connectionString="Data Source= (localdb)\v11.0; Initial Catalog=FlavorPingContext-20150707103956; Integrated Security=True; MultipleActiveResultSets=True; AttachDbFilename=|DataDirectory|FlavorPingContext-20150707103956.mdf"
providerName="System.Data.SqlClient" />
</connectionStrings><appSettings>
答案 0 :(得分:0)
不应该吗?
UserManager.AddToRole(merchant.MerchantID, "Merchant");