Create default ClaimsIdentity for AbpClaimsPrincipalFactory.

pull/8153/head
maliming 5 years ago
parent f6dfa8b6a3
commit 36e3cb1c82

@ -8,6 +8,8 @@ namespace Volo.Abp.Security.Claims
{ {
public class AbpClaimsPrincipalFactory : IAbpClaimsPrincipalFactory, ITransientDependency public class AbpClaimsPrincipalFactory : IAbpClaimsPrincipalFactory, ITransientDependency
{ {
public static string AuthenticationType => "Abp.Application";
protected IServiceScopeFactory ServiceScopeFactory { get; } protected IServiceScopeFactory ServiceScopeFactory { get; }
protected AbpClaimsPrincipalFactoryOptions Options { get; } protected AbpClaimsPrincipalFactoryOptions Options { get; }
@ -23,7 +25,10 @@ namespace Volo.Abp.Security.Claims
{ {
using (var scope = ServiceScopeFactory.CreateScope()) using (var scope = ServiceScopeFactory.CreateScope())
{ {
var claimsPrincipal = existsClaimsPrincipal ?? new ClaimsPrincipal(); var claimsPrincipal = existsClaimsPrincipal ?? new ClaimsPrincipal(new ClaimsIdentity(
AuthenticationType,
AbpClaimTypes.UserName,
AbpClaimTypes.Role));
var context = new AbpClaimsPrincipalContributorContext(claimsPrincipal, scope.ServiceProvider); var context = new AbpClaimsPrincipalContributorContext(claimsPrincipal, scope.ServiceProvider);

@ -44,12 +44,12 @@ namespace Volo.Abp.Security.Claims
[Fact] [Fact]
public async Task Create_With_Exists_ClaimsPrincipal() public async Task Create_With_Exists_ClaimsPrincipal()
{ {
var claimsPrincipal = new ClaimsPrincipal(new ClaimsIdentity(TestAuthenticationType, ClaimTypes.NameIdentifier, ClaimTypes.Role)); var claimsPrincipal = new ClaimsPrincipal(new ClaimsIdentity(TestAuthenticationType, ClaimTypes.Name, ClaimTypes.Role));
claimsPrincipal.Identities.First().AddClaim(new Claim(ClaimTypes.NameIdentifier, "123")); claimsPrincipal.Identities.First().AddClaim(new Claim(ClaimTypes.Name, "123"));
claimsPrincipal.Identities.First().AddClaim(new Claim(ClaimTypes.Role, "admin")); claimsPrincipal.Identities.First().AddClaim(new Claim(ClaimTypes.Role, "admin"));
await _abpClaimsPrincipalFactory.CreateAsync(claimsPrincipal); await _abpClaimsPrincipalFactory.CreateAsync(claimsPrincipal);
claimsPrincipal.Claims.ShouldContain(x => x.Type == ClaimTypes.NameIdentifier && x.Value == "123"); claimsPrincipal.Claims.ShouldContain(x => x.Type == ClaimTypes.Name && x.Value == "123");
claimsPrincipal.Claims.ShouldContain(x => x.Type == ClaimTypes.Role && x.Value == "admin"); claimsPrincipal.Claims.ShouldContain(x => x.Type == ClaimTypes.Role && x.Value == "admin");
claimsPrincipal.Claims.ShouldContain(x => x.Type == ClaimTypes.Email && x.Value == "admin2@abp.io"); claimsPrincipal.Claims.ShouldContain(x => x.Type == ClaimTypes.Email && x.Value == "admin2@abp.io");
claimsPrincipal.Claims.ShouldNotContain(x => x.Type == ClaimTypes.Email && x.Value == "admin@abp.io"); claimsPrincipal.Claims.ShouldNotContain(x => x.Type == ClaimTypes.Email && x.Value == "admin@abp.io");

Loading…
Cancel
Save