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 |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.0-windows |
.NET Core | netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1 |
.NET Standard | netstandard2.0 netstandard2.1 |
.NET Framework | net461 net462 net463 net47 net471 net472 net48 net481 |
MonoAndroid | monoandroid |
MonoMac | monomac |
MonoTouch | monotouch |
Tizen | tizen40 tizen60 |
Xamarin.iOS | xamarinios |
Xamarin.Mac | xamarinmac |
Xamarin.TVOS | xamarintvos |
Xamarin.WatchOS | xamarinwatchos |
-
.NETStandard 2.0
- Microsoft.AspNetCore.Authentication (>= 2.0.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on AspNetCore.Security.CAS:
Package | Downloads |
---|---|
Grebok.AspNet
Grebok Framework |
GitHub repositories
This package is not used by any popular GitHub repositories.