asp.net – 确保登录用户只能看到他们的数据的最佳方法
发布时间:2020-12-16 07:00:36 所属栏目:asp.Net 来源:网络整理
导读:这听起来像是一个愚蠢的问题,但我只是想知道我是否在任何地方错过了一个技巧. 场景是,我有一个使用Simple Memebership的Web应用程序,用户可以注册使用它(例如发票程序). 但是,他们应该只能查看/更新/删除他们自己添加到数据库/ Web应用程序的信息. 确保用户
这听起来像是一个愚蠢的问题,但我只是想知道我是否在任何地方错过了一个技巧.
场景是,我有一个使用Simple Memebership的Web应用程序,用户可以注册使用它(例如发票程序). 但是,他们应该只能查看/更新/删除他们自己添加到数据库/ Web应用程序的信息. 确保用户只能访问其信息的最佳方法是什么? 是为每个表添加一个用户名字段,例如: public class Invoice { public int InvoiceId { get; set; } public int CustId { get; set; } public string UserName { get; set; } } public class Item { public int ItemId { get; set; } public int InvoiceId { get; set; } public string UserName { get; set; } } …然后在访问数据的任何控制器中,只需在每个查询中添加用户名检查,例如: var Inv = db.Invoices.Where(x => x.UserName = User.Identity.Name); var Itm = db.Items.Where(y => y.UserName = User.Identity.Name); 这就是我目前正在使用的,但想知道这是否是最佳做法?或者,如果有一种更简单的方法,我们现在进入MVC4? 最好是从UserProfile表中使用UserName或UserId,还是重要? 更新以在评论后添加清晰度 所以有10个用户注册了 – 并且都创建了自己的发票.我不希望任何用户看到任何其他用户发票. 谢谢你的建议. 标记 解决方法
如果您正确设置了数据库关系,那么您应该可以参考例如用户的发票如下:
var invoices = dbContext.Users.first(u=>u.id == idParam).Invoices; 您可以通过测试验证发票是否属于用户 if(dbContext.Invoices.Any(i=>i.invoiceID))//invoice exists? { //Invoice belongs to user? bool invoiceBelongsToUser = dbContext.Users.first(u=>u.id == idParam) .Invoices.Any(i=>i.invoiceID == invoiceIDParam); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – ASP.NET MVC使用自定义角色提供程序重定向到
- 如何发现ASP.NET应用程序重启的原因
- ASP.NET MVC – 查看主页,如何设置标题?
- .net – 日志框架与System.Diagnostics跟踪
- 在ASP.Net中使用Page_Load和Page_PreRender
- asp.net-mvc-3 – WebAPI PUT / POST中的部分实体更新
- asp.net-mvc – 阻止bingbot抓取我的网站
- asp.net – 在双列表框中移动项目
- asp.net-web-api – 为什么我在web api中从我的POST获得404
- asp.net – 在Google Chrome浏览器中加载两次
推荐文章
站长推荐
- asp.net-mvc-3 – 将其他数据发送到Telerik MVC网
- asp.net-mvc-3 – 在ASP.NET-MVC3中缓存数据有什
- asp.net-mvc – 读取同一域上不同主机写的cookie
- asp.net – 无法找到类型或命名空间名称’Profil
- asp.net-mvc – 在asp.net mvc中使用Checkbox提交
- ASP.NET主题 – 应该使用它们吗?
- asp.net-mvc – 编辑器模板和部分视图之间有什么
- asp.net – 自定义OWIN / Katana UserManager工厂
- 使用ASP.NET成员资格提供程序限制对WCF REST(web
- asp.net-mvc – Web API,OData,$inlinecount和测
热点阅读