AspNetCore.Security.CAS
2.0.2
See the version list below for details.
dotnet add package AspNetCore.Security.CAS --version 2.0.2
NuGet\Install-Package AspNetCore.Security.CAS -Version 2.0.2
<PackageReference Include="AspNetCore.Security.CAS" Version="2.0.2" />
paket add AspNetCore.Security.CAS --version 2.0.2
#r "nuget: AspNetCore.Security.CAS, 2.0.2"
// Install AspNetCore.Security.CAS as a Cake Addin #addin nuget:?package=AspNetCore.Security.CAS&version=2.0.2 // Install AspNetCore.Security.CAS as a Cake Tool #tool nuget:?package=AspNetCore.Security.CAS&version=2.0.2
AspNetCore.Security.CAS
AspNet.Security.CAS is an ASP.NET Core 2/MVC 6 authentication provider for CAS.
Microsoft.AspNetCore.Authentication.OAuth and Microsoft.AspNetCore.Authentication.Twitter were used as structural references.
Usage
Install the NuGet package
PM> Install-Package AspNetCore.Security.CAS
Open Startup.cs
In your startup's
ConfigureServices
method:services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme) .AddCookie(options => { options.LoginPath = new PathString("/login"); }) .AddCAS(options => { options.CasServerUrlBase = Configuration["CasBaseUrl"]; // Set in `appsettings.json` file. options.SignInScheme = CookieAuthenticationDefaults.AuthenticationScheme; });
In your startup's
Configure
method beforeUseMvc
:app.UseAuthentication();
In a controller somewhere, create a login endpoint. It doesn't have to auto-challenge/redirect but this example does:
[AllowAnonymous] [Route("login")] public async Task Login(string returnUrl) { var props = new AuthenticationProperties { RedirectUri = returnUrl }; await HttpContext.ChallengeAsync("CAS", props); }
CasOptions
At a minmum, the CasOptions
object needs to have the CasServerUrlBase
property set to the URL to your CAS server.
These options extend the RemoteAuthenticationOptions class.
Properties
Property | Description | Default | |
---|---|---|---|
CasServerUrlBase |
The base url of the CAS server. Required. | null |
|
CasValidationUrl |
Used in cases where ticket validation occurs on a separate server than user login. Optional. | null |
|
TicketValidator |
Gets or sets the ICasTicketValidator used to validate tickets from CAS. |
Cas2TicketValidator |
|
StateDataFormat |
Gets or sets the type used to secure data handled by the middleware. | PropertiesDataFormat |
|
NameIdentifierAttribute |
If set, and using the CAS 2 payload, the ticket validator use the specified CAS attribute as the NameIdentifier claim, which is used to associate external logins. | null |
|
Renew |
If this parameter is set, single sign-on will be bypassed. In this case, CAS will require the client to present credentials regardless of the existence of a single sign-on session with CAS. | false |
|
Gateway |
If this parameter is set, CAS will not ask the client for credentials. If the client has a pre-existing single sign-on session with CAS, or if a single sign-on session can be established through non-interactive means (i.e. trust authentication), CAS MAY redirect the client to the URL specified by the service parameter, appending a valid service ticket. |
false |
See the documentation for optional properties for more information if using Renew
or Gateway
.
Other .NET CAS Providers
MVC 5: Owin.Security.CAS
MVC 4 and below: Jasig's .NET CAS Client
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.AspNetCore.Authentication (>= 2.0.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on AspNetCore.Security.CAS:
Package | Downloads |
---|---|
Grebok.AspNet
Grebok Framework |
|
Pig.AspNetCore.Application
Lib for build AspNetCore App follow Clean Architecture |
GitHub repositories
This package is not used by any popular GitHub repositories.