公司名?宣称?新专栏?
Company Name? Claim? New Column?
我打算同时使用 Identity Server 4 和 Asp.net Core Identity。我的网站将与 Identity Server 4/Asp.net Core Identity 通信,期望每个用户返回一个公司名称。
我是否应该创建一个名为 Company 的新客户 table 并在 Asp 用户 table 中添加一个将它们链接在一起的列。
或者这应该是一个声明?
我知道当我对我的用户进行身份验证并且他们被发送回我的主站点时,我将拥有一家公司 table 并且他们将被链接但只是不确定用于识别他们的目的。
我觉得这应该是一个声明,但我想仔细检查一下,因为我是新手。
就使用 IdentityServer 而言,技术上 一切 都是一个声明。 "user" 对象 IdentityServer returns 将所有属性映射为声明。从这个意义上说,采用哪种方法并不重要。
但是,如果有意义的话,通常最好保留用户的数据 table。像外键关系这样的东西在数据库级别存在特别有价值,因为它比简单地获取公司名称更有价值。
当数据是暂时的或不适用于每个用户时,将数据存储为声明最有用。典型示例包括 third-party 访问令牌,例如来自 Facebook。将其存储在 database-level 上将不可避免地导致数据库 table 的非规范化,因此使用声明更有意义。
我打算同时使用 Identity Server 4 和 Asp.net Core Identity。我的网站将与 Identity Server 4/Asp.net Core Identity 通信,期望每个用户返回一个公司名称。
我是否应该创建一个名为 Company 的新客户 table 并在 Asp 用户 table 中添加一个将它们链接在一起的列。
或者这应该是一个声明?
我知道当我对我的用户进行身份验证并且他们被发送回我的主站点时,我将拥有一家公司 table 并且他们将被链接但只是不确定用于识别他们的目的。
我觉得这应该是一个声明,但我想仔细检查一下,因为我是新手。
就使用 IdentityServer 而言,技术上 一切 都是一个声明。 "user" 对象 IdentityServer returns 将所有属性映射为声明。从这个意义上说,采用哪种方法并不重要。
但是,如果有意义的话,通常最好保留用户的数据 table。像外键关系这样的东西在数据库级别存在特别有价值,因为它比简单地获取公司名称更有价值。
当数据是暂时的或不适用于每个用户时,将数据存储为声明最有用。典型示例包括 third-party 访问令牌,例如来自 Facebook。将其存储在 database-level 上将不可避免地导致数据库 table 的非规范化,因此使用声明更有意义。