我计划一起使用Identity Server 4和Asp.net核心身份。我将与Identity Server 4 / Asp.net核心身份进行对话的网站将期望每个用户都会回来一个公司名称。
我是否应该创建一个名为Company的新客户表,并在Asp User表中添加一个将它们链接在一起的列。
或者这应该是索赔?
我知道当我对我的用户进行身份验证并将其发送回我的主站点时,我会有一张公司表,他们会被链接但只是不确定是为了识别它们。
我觉得这应该是一个声明,但我想要仔细检查,因为我对这一切都是新手。
答案 0 :(得分:1)
在使用IdentityServer方面,技术上所有都是声明。 IdentityServer返回的“user”对象将所有属性映射为声明。从这个意义上说,你采用哪种方法并不重要。
但是,如果有意义的话,最好将数据保存在用户表中。类似于外键关系的东西在数据库级别存在特别有价值,因为除了获取公司名称之外,还有更多的价值。
当数据是暂时的或不适用于每个用户时,将数据存储为声明最有用。典型示例包括第三方访问令牌等内容,例如来自Facebook的内容。在数据库级别存储它将不可避免地导致数据库表的非规范化,因此使用声明更有意义。