Skip to content

Commit b883911

Browse files
committed
dotnet9
1 parent 6ed7b42 commit b883911

10 files changed

Lines changed: 63 additions & 78 deletions

File tree

.github/workflows/dotnet.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
- name: Setup .NET
2222
uses: actions/setup-dotnet@v3
2323
with:
24-
dotnet-version: 8.0.x
24+
dotnet-version: 9.0.x
2525

2626
# run build and test
2727
- name: Restore dependencies

Directory.Build.props

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
<!--C# version-->
44
<PropertyGroup>
5-
<TargetFramework>net8.0</TargetFramework>
6-
<LangVersion>12</LangVersion>
5+
<TargetFramework>net9.0</TargetFramework>
6+
<LangVersion>13</LangVersion>
77
</PropertyGroup>
88

99
<!--NuGet-->

ManagedCode.Orleans.Identity.Client/Extensions/AuthenticationHandlerExtensions.cs

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,23 +27,30 @@ public static void AddOrleansIdentity(this IServiceCollection services, Action<S
2727
/// </summary>
2828
/// <param name="services"></param>
2929
/// <param name="sessionOption">Options for working with session</param>
30+
/// <param name="authenticationBuilder"></param>
3031
public static void AddOrleansIdentity(this IServiceCollection services, SessionOption? sessionOption = null, Action<AuthorizationPolicyBuilder>? authenticationBuilder = null)
3132

3233
{
3334
sessionOption ??= new SessionOption();
3435

35-
//services.AddScoped<SessionAuthorizationHandler>();
36-
//services.AddScoped<SessionAuthenticationHandler>();
37-
38-
services.AddAuthentication(options => options.DefaultScheme = OrleansIdentityConstants.AUTHENTICATION_TYPE)
39-
.AddScheme<AuthenticationSchemeOptions, SessionAuthenticationHandler>(OrleansIdentityConstants.AUTHENTICATION_TYPE, op => { });
36+
// Add custom authentication and authorization
37+
services.AddScoped<OrleansSessionAuthorizationHandler>();
38+
services.AddScoped<OrleansSessionAuthenticationHandler>();
4039

40+
services.AddAuthentication(options =>
41+
{
42+
options.DefaultScheme = OrleansIdentityConstants.AUTHENTICATION_TYPE;
43+
})
44+
.AddScheme<AuthenticationSchemeOptions, OrleansSessionAuthenticationHandler>(OrleansIdentityConstants.AUTHENTICATION_TYPE, op =>
45+
{
46+
47+
});
4148
services.AddAuthorization(options =>
4249
{
4350
var defaultAuthorizationPolicyBuilder = new AuthorizationPolicyBuilder(OrleansIdentityConstants.AUTHENTICATION_TYPE);
4451
defaultAuthorizationPolicyBuilder = defaultAuthorizationPolicyBuilder.RequireAuthenticatedUser();
45-
authenticationBuilder?.Invoke(defaultAuthorizationPolicyBuilder);
4652
options.DefaultPolicy = defaultAuthorizationPolicyBuilder.Build();
4753
});
54+
4855
}
4956
}

ManagedCode.Orleans.Identity.Client/Extensions/OrleansContextMiddlewareExtensions.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ public static class OrleansContextMiddlewareExtensions
1212
/// <returns></returns>
1313
public static IApplicationBuilder UseOrleansIdentity(this IApplicationBuilder builder)
1414
{
15-
return builder.UseMiddleware<OrleansContextMiddleware>();
15+
return builder.UseMiddleware<OrleansContextMiddleware>()
16+
.UseMiddleware<OrleansContextMiddleware>();
1617
}
1718

1819
/// <summary>

ManagedCode.Orleans.Identity.Client/ManagedCode.Orleans.Identity.Client.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@
1616

1717
<ItemGroup>
1818

19-
<PackageReference Include="ManagedCode.Communication" Version="8.0.7" />
20-
<PackageReference Include="ManagedCode.Communication.Orleans" Version="8.0.7" />
19+
<PackageReference Include="ManagedCode.Communication" Version="9.0.0" />
20+
<PackageReference Include="ManagedCode.Communication.Orleans" Version="9.0.0" />
2121

22-
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" />
23-
<PackageReference Include="Microsoft.Orleans.Client" Version="8.2.0" />
22+
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.7" />
23+
<PackageReference Include="Microsoft.Orleans.Client" Version="9.2.1" />
2424

2525
</ItemGroup>
2626

ManagedCode.Orleans.Identity.Core/ManagedCode.Orleans.Identity.Core.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@
1717

1818
<ItemGroup>
1919

20-
<PackageReference Include="ManagedCode.Communication" Version="8.0.7" />
21-
<PackageReference Include="ManagedCode.Communication.Orleans" Version="8.0.7" />
20+
<PackageReference Include="ManagedCode.Communication" Version="9.0.0" />
21+
<PackageReference Include="ManagedCode.Communication.Orleans" Version="9.0.0" />
2222

23-
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" />
24-
<PackageReference Include="Microsoft.Orleans.Sdk" Version="8.2.0" />
23+
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.7" />
24+
<PackageReference Include="Microsoft.Orleans.Sdk" Version="9.2.1" />
2525
</ItemGroup>
2626

2727
</Project>

ManagedCode.Orleans.Identity.Server/GrainCallFilter/GrainAuthorizationIncomingFilter.cs

Lines changed: 8 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,9 @@
1010

1111
namespace ManagedCode.Orleans.Identity.Server.GrainCallFilter;
1212

13-
public class GrainAuthorizationIncomingFilter : IIncomingGrainCallFilter
13+
public class GrainAuthorizationIncomingFilter(IClusterClient client, IGrainFactory grainFactory) : IIncomingGrainCallFilter
1414
{
15-
private readonly IClusterClient _client;
16-
private readonly IGrainFactory _grainFactory;
17-
18-
public GrainAuthorizationIncomingFilter(IClusterClient client, IGrainFactory grainFactory)
19-
{
20-
_client = client;
21-
_grainFactory = grainFactory;
22-
}
15+
private readonly IClusterClient _client = client;
2316

2417
public async Task Invoke(IIncomingGrainCallContext context)
2518
{
@@ -28,11 +21,12 @@ public async Task Invoke(IIncomingGrainCallContext context)
2821
var isSessionExists = await IsAuthorized();
2922
if (isSessionExists)
3023
{
31-
if (attributes.All(attributes => string.IsNullOrWhiteSpace(attributes.Roles)))
24+
if (attributes.All(attribute => string.IsNullOrWhiteSpace(attribute.Roles)))
3225
{
3326
await context.Invoke();
3427
return;
3528
}
29+
3630
var roles = this.GetRoles().ToHashSet();
3731
foreach (var attribute in attributes)
3832
{
@@ -46,18 +40,17 @@ public async Task Invoke(IIncomingGrainCallContext context)
4640
}
4741
throw new UnauthorizedAccessException();
4842
}
49-
else
50-
{
51-
await context.Invoke();
52-
}
43+
44+
await context.Invoke();
45+
5346
}
5447

5548
private async Task<bool> IsAuthorized()
5649
{
5750
var sessionId = this.GetSessionId();
5851
if (string.IsNullOrWhiteSpace(sessionId) is false)
5952
{
60-
var sessionGrain = _grainFactory.GetGrain<ISessionGrain>(sessionId);
53+
var sessionGrain = grainFactory.GetGrain<ISessionGrain>(sessionId);
6154
var result = await sessionGrain.ValidateAndGetClaimsAsync();
6255
return result.IsSuccess;
6356
}

ManagedCode.Orleans.Identity.Server/ManagedCode.Orleans.Identity.Server.csproj

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@
1616

1717
<ItemGroup>
1818

19-
<PackageReference Include="ManagedCode.Communication" Version="8.0.7" />
20-
<PackageReference Include="ManagedCode.Communication.Orleans" Version="8.0.7" />
19+
<PackageReference Include="ManagedCode.Communication" Version="9.0.0" />
20+
<PackageReference Include="ManagedCode.Communication.Orleans" Version="9.0.0" />
2121

22-
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" />
22+
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.7" />
2323

24-
<PackageReference Include="Microsoft.Orleans.Reminders" Version="8.2.0" />
25-
<PackageReference Include="Microsoft.Orleans.Server" Version="8.2.0" />
24+
<PackageReference Include="Microsoft.Orleans.Reminders" Version="9.2.1" />
25+
<PackageReference Include="Microsoft.Orleans.Server" Version="9.2.1" />
2626
</ItemGroup>
2727

2828
<ItemGroup>

ManagedCode.Orleans.Identity.Tests/ManagedCode.Orleans.Identity.Tests.csproj

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -9,43 +9,43 @@
99
</PropertyGroup>
1010

1111
<ItemGroup>
12-
<PackageReference Include="FluentAssertions" Version="6.12.1" />
13-
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="8.0.10" />
14-
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="8.0.10" />
15-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
16-
<PackageReference Include="Microsoft.Orleans.Analyzers" Version="8.2.0">
12+
<PackageReference Include="FluentAssertions" Version="8.5.0" />
13+
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="9.0.7" />
14+
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="9.0.7" />
15+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
16+
<PackageReference Include="Microsoft.Orleans.Analyzers" Version="9.2.1">
1717
<PrivateAssets>all</PrivateAssets>
1818
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
1919
</PackageReference>
20-
<PackageReference Include="Microsoft.Orleans.Serialization" Version="8.2.0" />
21-
<PackageReference Include="Microsoft.Orleans.TestingHost" Version="8.2.0" />
22-
<PackageReference Include="System.Linq.Async" Version="6.0.1" />
23-
<PackageReference Include="xunit" Version="2.9.2" />
24-
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.2">
20+
<PackageReference Include="Microsoft.Orleans.Serialization" Version="9.2.1" />
21+
<PackageReference Include="Microsoft.Orleans.TestingHost" Version="9.2.1" />
22+
<PackageReference Include="System.Linq.Async" Version="6.0.3" />
23+
<PackageReference Include="xunit" Version="2.9.3" />
24+
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.3">
2525
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
2626
<PrivateAssets>all</PrivateAssets>
2727
</PackageReference>
28-
<PackageReference Include="xunit.runner.console" Version="2.9.2">
28+
<PackageReference Include="xunit.runner.console" Version="2.9.3">
2929
<PrivateAssets>all</PrivateAssets>
3030
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
3131
</PackageReference>
32-
<PackageReference Include="coverlet.collector" Version="6.0.2">
32+
<PackageReference Include="coverlet.collector" Version="6.0.4">
3333
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
3434
<PrivateAssets>all</PrivateAssets>
3535
</PackageReference>
36-
<PackageReference Include="coverlet.msbuild" Version="6.0.2">
36+
<PackageReference Include="coverlet.msbuild" Version="6.0.4">
3737
<PrivateAssets>all</PrivateAssets>
3838
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
3939
</PackageReference>
40-
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="8.0.10" />
41-
<PackageReference Include="Microsoft.AspNetCore.SignalR.Client" Version="8.0.10" />
42-
<PackageReference Include="Microsoft.AspNetCore.TestHost" Version="8.0.10" />
43-
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" />
44-
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="8.0.2" />
45-
<PackageReference Include="Microsoft.Orleans.Sdk" Version="8.2.0" />
46-
<PackageReference Include="Microsoft.Orleans.Serialization.TestKit" Version="8.2.0" />
47-
<PackageReference Include="ManagedCode.Communication" Version="8.0.7" />
48-
<PackageReference Include="ManagedCode.Communication.Orleans" Version="8.0.7" />
40+
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="9.0.7" />
41+
<PackageReference Include="Microsoft.AspNetCore.SignalR.Client" Version="9.0.7" />
42+
<PackageReference Include="Microsoft.AspNetCore.TestHost" Version="9.0.7" />
43+
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.7" />
44+
<PackageReference Include="Microsoft.Extensions.DependencyInjection.Abstractions" Version="9.0.7" />
45+
<PackageReference Include="Microsoft.Orleans.Sdk" Version="9.2.1" />
46+
<PackageReference Include="Microsoft.Orleans.Serialization.TestKit" Version="9.2.1" />
47+
<PackageReference Include="ManagedCode.Communication" Version="9.0.0" />
48+
<PackageReference Include="ManagedCode.Communication.Orleans" Version="9.0.0" />
4949
</ItemGroup>
5050

5151
<ItemGroup>

ManagedCode.Orleans.Identity.Tests/TestApp/HttpHostProgram.cs

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -33,30 +33,14 @@ public static void Main(string[] args)
3333
// AddProperty it for using Orleans Identity
3434
builder.Services.AddOrleansIdentity();
3535

36-
3736

38-
builder.Services.AddAuthorization(options =>
39-
{
40-
options.AddPolicy(OrleansIdentityConstants.AUTHENTICATION_TYPE, policy =>
41-
{
42-
policy.AuthenticationSchemes.Add(OrleansIdentityConstants.AUTH_TOKEN);
43-
policy.Requirements.Add(new SessionRequirement());
44-
});
45-
});
46-
builder.Services.AddAuthentication(options =>
47-
{
48-
options.DefaultScheme = OrleansIdentityConstants.AUTHENTICATION_TYPE;
49-
});
50-
5137

5238
var app = builder.Build();
5339

5440
// AddProperty it for using Orleans Identity
5541
// Authentication and Authorization already use
56-
//app.UseAuthenticationAndOrleansIdentity();
57-
58-
app.UseAuthentication();
59-
app.UseAuthorization();
42+
app.UseAuthenticationAndOrleansIdentity();
43+
6044

6145
app.MapControllers();
6246
app.MapHub<TestAnonymousHub>(nameof(TestAnonymousHub));

0 commit comments

Comments
 (0)