你必须使用下面的代码
Roles.CreateRole(RoleName);
Roles.AddUserToRole(UserName, RoleName);
角色名称为“管理员”或“用户”或“雇员”或“客户”或什么都来ASIGN上登记的时间每个用户的角色,你希望可能。 你应该在注册时完成它。
然后你定义像这样来区分用户的使用。 如果您需要管理员只需要访问下面的方法,那么你必须将其定义为“管理员”的角色
[HttpGet]
[Authorize(Roles = "Admin")]
public ActionResult ViewInventoryList()
{
List<Inventory> inventoryList = new List<Inventory>();
inventoryList = connectDatabase.SelectInventory();
return View("ViewInventory", inventoryList);
}
如果需要用户只需要访问下面的方法,那么你必须定义角色as“User”
[HttpGet]
[Authorize(Roles = "User")]
public ActionResult ViewInventoryList()
{
List<Inventory> inventoryList = new List<Inventory>();
inventoryList = connectDatabase.SelectInventory();
return View("ViewInventory", inventoryList);
}
在MVC或任何其他使用标准身份验证模型(来自ASP.NET)的框架中,逻辑上应该没有多少变化。你确定你没有受到缓存/ cookie问题的困扰吗? – JcMaltaDev 2010-08-04 15:18:45
如果您以编程方式注销('SignOut')当前用户,则需要进行身份验证的操作的下一个请求将要求用户再次登录。那是你要的吗? – bzlm 2010-08-05 08:23:34