我希望用户登录时可以添加请求,并且只能看到该请求,而不能看到其他用户的请求,只能看到该用户登录时的请求

时间:2019-05-03 10:43:12

标签: c# asp.net-mvc

我是ASP.NET MVC的新手,我正尝试做一个Web应用程序。此应用将有各种用户和一个管理员,可以创建请求,然后管理员可以批准或拒绝。我在使用EF的请求模型中添加了脚手架。但是问题是当我使用某个用户登录时(我们称其为user1),当他创建请求并注销后,其他用户可以看到user1请求,而我不希望这种情况发生。因此,基本上,当user1登录时,创建一个请求,注销,而user1只能看到他的请求,user2登录,创建一个请求,注销,并且用户2只能看到他的请求。

这是我的用户模型

public class User
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int UserID { get; set; }

    public int Perfil { get; set; } = 2;

    [Display(Name = "Nome")]
    public string UserName { get; set; }

    [DataType(DataType.Password)]
    public string Password { get; set; }
}

这是AccountController

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Login(User users)
{
    using (ApplicationDataContext db = new ApplicationDataContext())
    {
        bool isValid = db.Users.Any(x => x.UserName == users.UserName && x.Password == users.Password);
        if (isValid)
        {
            var result = (from u in db.Users
                          where u.UserName == User.Identity.Name
                          select u).ToArray();
            FormsAuthentication.SetAuthCookie(users.UserName, false);
            return RedirectToAction("Index", "Requests", result);
        }

        ModelState.AddModelError("", "Nome e/ou password inválido");
        return View();
    }
}

0 个答案:

没有答案