Skip to main content
All docs
V24.1
.NET 6.0+
  • The page you are viewing does not exist in the .NET Framework 4.5.2+ platform documentation. This link will take you to the parent topic of the current section.

SignInManager.SignInByPrincipal(ClaimsPrincipal) Method

Signs in a user based on the specified claims principal.

Namespace: DevExpress.ExpressApp.Security

Assembly: DevExpress.ExpressApp.Security.v24.1.dll

NuGet Package: DevExpress.ExpressApp.Security

Declaration

public AuthenticationResult SignInByPrincipal(
    ClaimsPrincipal claimsPrincipal
)

Parameters

Name Type Description
claimsPrincipal ClaimsPrincipal

A ClaimsPrincipal object.

Returns

Type Description
DevExpress.ExpressApp.Security.AuthenticationResult

An object of the AuthenticationResult type that contains the result of an authentication attempt.

Remarks

Use this method to programmatically sign a user into an XAF application. This method takes an object that contains a user’s logon parameters and returns an AuthenticationResult object.

The returned object exposes the following properties.

Succeeded
A boolean property that indicates whether or not the authentication attempt was successful.
Principal
If the authentication succeeds, this property contains the ClaimsPrincipal (a collection of statements about the authenticated user) returned by the Security System.
Error
If the authentication fails, this property contains the resulting Exception.

The following code snippet demonstrates how to use the SignInByPrincipal method:

using DevExpress.ExpressApp.Security;
using Microsoft.Extensions.DependencyInjection;
// ...
// Use Dependency Injection to access the IServiceProvider.
var signInManager = serviceProvider.GetRequiredService<SignInManager>();
var principal = signInManager.CreateUserPrincipal(user);
var authResult = signInManager.SignInByPrincipal(principal);

Usage Considerations

  • When called, all of the UserManager.SignIn* methods first ensure that no user is logged in within the current scope. Note that in WinForms applications this guarantees that no user is logged in at all. Blazor apps allow multiple active scopes, so the same guarantee does not apply. If a user is already logged in, these methods throw the InvalidOperationException with the following message: “Authentication failed: security user already initialized.”.
See Also