Asp.net mvc 是否使用MVC.NET和Windows身份验证以其他用户身份登录?

Asp.net mvc 是否使用MVC.NET和Windows身份验证以其他用户身份登录?,asp.net-mvc,authentication,Asp.net Mvc,Authentication,如何使用MVC.NET实现这一点?我在互联网上找到了关于如何在ASP.NET中实现这一点的资源,但我还没有找到在MVC.NET中实现这一点的方法。不过,我是一名MVC.NET新手。我可以使用[Authorize]属性生成401响应,但我不知道之后该怎么做 [编辑] 在玩了一些游戏之后,我想如果我能找到一种方法来强制应用程序重新验证自己并打开登录对话框,我也许可以做到这一点。我认为,如果我将Authorization属性设置为类似于[AuthorizeUsers=NooneAllowed]的值,应

如何使用MVC.NET实现这一点?我在互联网上找到了关于如何在ASP.NET中实现这一点的资源,但我还没有找到在MVC.NET中实现这一点的方法。不过,我是一名MVC.NET新手。我可以使用[Authorize]属性生成401响应,但我不知道之后该怎么做

[编辑]
在玩了一些游戏之后,我想如果我能找到一种方法来强制应用程序重新验证自己并打开登录对话框,我也许可以做到这一点。我认为,如果我将Authorization属性设置为类似于[AuthorizeUsers=NooneAllowed]的值,应该会显示登录对话框。有没有其他方法可以强制它重新验证,因为上面的黑客程序几乎没有用,因为它仍然会拒绝访问。

您必须使用下面的代码在注册时为每个用户指定一个角色

Roles.CreateRole(RoleName);
Roles.AddUserToRole(UserName, RoleName);
作为管理员、用户、员工或客户的角色名称,或您希望的任何名称。 你应该在注册的时候做

然后,您可以这样定义,以区分用户的使用。 如果您只需要Admin来访问下面的方法,那么您必须将角色定义为Admin

    [HttpGet]
    [Authorize(Roles = "Admin")]
    public ActionResult ViewInventoryList()
    {
        List<Inventory> inventoryList = new List<Inventory>();
        inventoryList = connectDatabase.SelectInventory();
        return View("ViewInventory", inventoryList);
    }
如果只需要用户访问以下方法,则必须将角色定义为用户

[HttpGet]
    [Authorize(Roles = "User")]
    public ActionResult ViewInventoryList()
    {
        List<Inventory> inventoryList = new List<Inventory>();
        inventoryList = connectDatabase.SelectInventory();
        return View("ViewInventory", inventoryList);
    }

从逻辑上讲,在MVC或任何其他使用ASP.NET标准身份验证模型的框架中,不应该有太多变化。是否确实没有出现缓存/cookie问题?如果以编程方式注销并注销当前用户,则下一个需要身份验证的操作请求将要求用户再次登录。这就是你想要的吗?