Skip to content

Commit 3578c3d

Browse files
committed
fix: 修改声明扩展以及调整包ID
1 parent f6d6a7f commit 3578c3d

File tree

7 files changed

+59
-5
lines changed

7 files changed

+59
-5
lines changed
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project>
22
<PropertyGroup>
33
<AssemblyName>Bing.Caching.FreeRedis</AssemblyName>
4-
<PackageId>BingNS.Caching.FreeRedis</PackageId>
4+
<PackageId>Bing.Caching.FreeRedis</PackageId>
55
<Description>Bing.Caching.FreeRedis是基于FreeRedis实现Redis缓存操作类库。</Description>
66
</PropertyGroup>
77
</Project>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project>
22
<PropertyGroup>
33
<AssemblyName>Bing.FreeSQL.MySql</AssemblyName>
4-
<PackageId>BingNS.FreeSQL.MySql</PackageId>
4+
<PackageId>Bing.FreeSQL.MySql</PackageId>
55
<Description>Bing.FreeSQL.MySql 是Bing应用框架的FreeSQL.MySql数据访问类库。</Description>
66
</PropertyGroup>
77
</Project>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project>
22
<PropertyGroup>
33
<AssemblyName>Bing.FreeSQL</AssemblyName>
4-
<PackageId>BingNS.FreeSQL</PackageId>
4+
<PackageId>Bing.FreeSQL</PackageId>
55
<Description>Bing.FreeSQL 是Bing应用框架的FreeSQL数据访问核心类库。</Description>
66
</PropertyGroup>
77
</Project>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project>
22
<PropertyGroup>
33
<AssemblyName>Bing.Locks.CSRedis</AssemblyName>
4-
<PackageId>BingNS.Locks.CSRedis</PackageId>
4+
<PackageId>Bing.Locks.CSRedis</PackageId>
55
<Description>Bing.Locks.CSRedis是Bing应用框架的基于Redis实现的分布式锁操作类库。</Description>
66
</PropertyGroup>
77
</Project>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project>
22
<PropertyGroup>
33
<AssemblyName>Bing.ObjectMapping</AssemblyName>
4-
<PackageId>BingNS.ObjectMapping</PackageId>
4+
<PackageId>Bing.ObjectMapping</PackageId>
55
<Description>Bing.ObjectMapping是Bing应用框架的对象映射抽象类库。</Description>
66
</PropertyGroup>
77
</Project>

framework/src/Bing.Security/Bing/Security/Claims/BingClaimTypes.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,16 @@ public static class BingClaimTypes
1010
/// </summary>
1111
public static string UserName { get; set; } = System.Security.Claims.ClaimTypes.Name;
1212

13+
/// <summary>
14+
/// 名字,默认:<see cref="System.Security.Claims.ClaimTypes.GivenName"/>
15+
/// </summary>
16+
public static string Name { get; set; } = System.Security.Claims.ClaimTypes.GivenName;
17+
18+
/// <summary>
19+
/// 姓。默认:<see cref="System.Security.Claims.ClaimTypes.Surname"/>
20+
/// </summary>
21+
public static string SurName { get; set; } = System.Security.Claims.ClaimTypes.Surname;
22+
1323
/// <summary>
1424
/// 姓名。默认:"full_name"
1525
/// </summary>

framework/src/Bing.Security/System/Security/Principal/BingClaimsIdentityExtensions.cs

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,5 +141,49 @@ public static string FindClientId(this IIdentity identity)
141141
}
142142

143143
#endregion
144+
145+
#region Add(添加)
146+
147+
/// <summary>
148+
/// 添加。如果不存在指定声明,则进行添加
149+
/// </summary>
150+
/// <param name="claimsIdentity">声明标识</param>
151+
/// <param name="claim">声明</param>
152+
public static ClaimsIdentity AddIfNotContains(this ClaimsIdentity claimsIdentity, Claim claim)
153+
{
154+
Check.NotNull(claimsIdentity, nameof(claimsIdentity));
155+
if (!claimsIdentity.Claims.Any(x => string.Equals(x.Type, claim.Type, StringComparison.OrdinalIgnoreCase)))
156+
claimsIdentity.AddClaim(claim);
157+
return claimsIdentity;
158+
}
159+
160+
/// <summary>
161+
/// 添加或替换。如果指定声明不存在直接添加,否则进行替换
162+
/// </summary>
163+
/// <param name="claimsIdentity">声明标识</param>
164+
/// <param name="claim">声明</param>
165+
public static ClaimsIdentity AddOrReplace(this ClaimsIdentity claimsIdentity, Claim claim)
166+
{
167+
Check.NotNull(claimsIdentity, nameof(claimsIdentity));
168+
foreach (var x in claimsIdentity.FindAll(claim.Type).ToList())
169+
claimsIdentity.RemoveClaim(x);
170+
claimsIdentity.AddClaim(claim);
171+
return claimsIdentity;
172+
}
173+
174+
/// <summary>
175+
/// 添加。如果不存在指定声明标识,则进行添加
176+
/// </summary>
177+
/// <param name="principal">声明主体</param>
178+
/// <param name="identity">声明标识</param>
179+
public static ClaimsPrincipal AddIdentityIfNotContains(this ClaimsPrincipal principal, ClaimsIdentity identity)
180+
{
181+
Check.NotNull(principal, nameof(principal));
182+
if (!principal.Identities.Any(x => string.Equals(x.AuthenticationType, identity.AuthenticationType, StringComparison.OrdinalIgnoreCase)))
183+
principal.AddIdentity(identity);
184+
return principal;
185+
}
186+
187+
#endregion
144188
}
145189
}

0 commit comments

Comments
 (0)