Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 处理多用户安全性、所有权_C#_Asp.net Mvc_Asp.net Mvc 4_Asp.net Membership - Fatal编程技术网

C# 处理多用户安全性、所有权

C# 处理多用户安全性、所有权,c#,asp.net-mvc,asp.net-mvc-4,asp.net-membership,C#,Asp.net Mvc,Asp.net Mvc 4,Asp.net Membership,我计划用Entity Framewok开发一个asp.net mvc 4(和simplemembership)网站,它将处理多个用户。用户有一个页面,比如facebook个人资料页面,可以发布或编辑。我希望其他用户也可以在这个页面上查看和发布,但不能像facebook一样编辑这些帖子 我现在正在寻找一个小时关于如何做的一些信息,但我什么也没找到。我是asp.net新手,不知道所有的方法。角色似乎无法处理此类操作。在我的控制器中,我可以做一些事情,比如当我创建一个帖子时,我说登录的用户是所有者,只

我计划用Entity Framewok开发一个asp.net mvc 4(和simplemembership)网站,它将处理多个用户。用户有一个页面,比如facebook个人资料页面,可以发布或编辑。我希望其他用户也可以在这个页面上查看和发布,但不能像facebook一样编辑这些帖子

我现在正在寻找一个小时关于如何做的一些信息,但我什么也没找到。我是asp.net新手,不知道所有的方法。角色似乎无法处理此类操作。在我的控制器中,我可以做一些事情,比如当我创建一个帖子时,我说登录的用户是所有者,只有他可以删除这个帖子,但是其他人都可以看到它。但是,我仍然不知道如何为每个用户创建他的个人资料页面

我接受所有建议,图图或文章的链接,思考,想法。。。 (对不起,我的英语不好)
谢谢

您可以使用simplemembership如下方式查找当前登录的用户:

User.Identity.Name
要获取当前用户,可以查询存储库,例如:

var currentUser = db.UserProfiles.Where(u => u.UserName.Equals(User.Identity.Name)).Single();
EDIT2:未能将字段从“我的模型”更改为“你的模型”,已修复

根据您的评论,我将尝试在MVC4中使用标准的Scaffolded CRUD Delete方法编写一个小示例,并假设Post模型具有UserId属性/字段:

 [HttpPost, ActionName("Delete")]
 public ActionResult DeleteConfirmed(int id) 
 {
     var currentUser = db.UserProfiles.Where(u => u.UserName.Equals(User.Identity.Name)).Single();
     Post post = db.Posts.Find(id);      
     if (post.UserId==currentUser.UserId)
     {
        {
          db.Posts.Remove(post);
          db.SaveChanges();
          return RedirectToAction("Index");
        }  
     }    
  }

查看asp.net配置文件提供程序()。它可以帮助您启动或实现custome one。@mipe34谢谢,我已经阅读了这篇文章,但我看不出它如何帮助我将整个页面绑定到一个用户,因为在我的个人资料页面上,其他用户可以发布,所以我不能做类似的事情,我返回一个用户的所有帖子,这就是我的页面。。。我不知道我是否清楚…这对我来说有点模糊。假设一个用户有一个状态。是否可以在我的delete actionresult中编写类似的内容:如果我的帖子的userid=User.Identity.Name的userid,那么我可以删除它,否则我不能删除它?谢谢,我想这就是我需要处理这个问题的原因。只需稍微修改我的示例,以匹配您的模型和默认的SimpleMembershipProvider字段名。