如何在asp.net-mvc中跟踪属于不同公司的用户? [复制]
Posted
技术标签:
【中文标题】如何在asp.net-mvc中跟踪属于不同公司的用户? [复制]【英文标题】:How to keep track of users that belong to different companies in asp.net-mvc? [duplicate] 【发布时间】:2017-01-05 19:12:33 【问题描述】:我有一个应用程序,我在实体框架 IDENTITY 的帮助下创建了身份验证登录。
这个应用程序的重点很多,但就这个问题的相关性而言,它应该被几个用户使用,甚至可能属于不同的公司。为此,我在数据库的用户表中分配了一个 OrgId。
我想弄清楚的是获得这个 OrgId 的最佳方式。 每次用户登录时,我都会收到此信息,但我不想检查每个请求的用户信息或保存到数据库。
在搜索这个时,我偶然发现了一个全局变量,如下所示:
ASP.NET MVC Global Variables
这让我知道如何做到这一点,但我不想在几周后陷入僵局并意识到这不是最好的方法。
我正在寻找一种完成我想做的事情的好方法,优点,缺点等。
【问题讨论】:
如果您不想将身份与声明一起使用,请考虑创建一个自定义 IPrincipal,将组织 ID 添加到 FormAuthenticationTicket 以便在每个请求中都可用。典型实现参考this question and its accepted answer 【参考方案1】:如果您使用的是 ASP.NET Identity,我建议您使用声明来设置有关用户的其他信息。
身份验证成功后,您可以设置声明。
有关详细信息,请参阅以下内容:
Link 1
Link 2
【讨论】:
创建自定义属性不是我需要的。在为特定公司保存一些数据或获取一些数据时,我不希望调用用户对象来获取信息。我有一个分配全局变量的潜在解决方案,但我试图弄清楚它是否是正确的方法。您的答案超出了问题范围 用户身份对象已经在上下文中,每个请求都存在,所以我看不出它有多糟糕以上是关于如何在asp.net-mvc中跟踪属于不同公司的用户? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
有人愤怒地使用带有 asp.net-mvc 的 Knockoutjs 吗? [关闭]
剑道 DropDownListFor() 与 ASP.NET-MVC