SecuredEFCoreObjectSpace Class
An Object Space for EF Core-based applications that use the Security System.
Namespace: DevExpress.EntityFrameworkCore.Security
Assembly: DevExpress.EntityFrameworkCore.Security.v24.1.dll
NuGet Package: DevExpress.ExpressApp.EFCore
Declaration
Remarks
XAF creates Object Spaces of the SecuredEFCoreObjectSpace
type in the following cases:
- A SecuredEFCoreObjectSpaceProvider<TDbContext> is initialized in your application’s
XafApplication.CreateDefaultObjectSpaceProvider
method or CreateCustomObjectSpaceProvider event. - An application calls the SecuredEFCoreObjectSpaceProviderBuilderExtensions.AddSecuredEFCore method at startup when the Application Builder is in use.
The following example demonstrates how to use SecuredEFCoreObjectSpaceProvider<TDbContext> to create SecuredEFCoreObjectSpace in a non-XAF application.
using DevExpress.EntityFrameworkCore.Security;
using DevExpress.ExpressApp;
using DevExpress.ExpressApp.Security;
using DevExpress.Persistent.Base;
using DevExpress.Persistent.BaseImpl.EF.PermissionPolicy;
using Microsoft.EntityFrameworkCore;
using System.Configuration;
// ...
class Program {
static void Main() {
AuthenticationStandard authentication = new AuthenticationStandard();
SecurityStrategyComplex security = new SecurityStrategyComplex(
typeof(PermissionPolicyUser), typeof(PermissionPolicyRole),
authentication
);
var objectSpaceProvider = new SecuredEFCoreObjectSpaceProvider<ApplicationDbContext>(security,
XafTypesInfo.Instance, ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString,
(builder, connectionString) => builder.UseSqlServer(connectionString)
);
// ...
IObjectSpace securedObjectSpace = objectSpaceProvider.CreateObjectSpace();
}
}
You can find the full example in the following GitHub repository: How to use the Integrated mode of the Security System in non-XAF applications (EF Core).
For more information on Object Space and Object Space Provider types, refer to the following topics: