EPR类企业管理系统

在我们现有系统基础上或全新开发,提供定制服务
为您的企业高效快速实施ERP,WMS,MES,CRM管理系统
全面管控物料仓库、销售业务、采购业务、仓库业务
生产过程、质量检验、组织架构、业务报表


定制
QQ:460-3528

开发
QQ群:3360-90194

源码
微信:136-3650-3721

身份验证

本主题描述可与安全系统一起使用的身份验证方法。

Active Directory身份验证

要添加安全支持,请启动应用程序设计器,然后将SecurityStrategyComplex组件从Visual Studio工具箱拖放到设计器的“安全性”窗格中。

Security_UseSecurityStrategyComplex

在本主题中,我们将从使用Active Directory身份验证开始。默认情况下,使用此身份验证类型时,安全系统会自动为您当前的Windows帐户创建一个管理用户。XAF应用程序不存储密码,身份检查由Windows执行。用户名是通过WindowsIdentity对象获得的,看起来像COMPUTERNAME \ UserNameDOMAINNAME \ UserName。要启用Active Directory身份验证,请将AuthenticationActiveDirectory组件拖放到SecurityStrategyComplex附近的设计器中。

如果使用实体框架,则将内置的安全实体添加到DbContext中(需要引用DevExpress.ExpressApp.Security.v 19.2 .dll程序集),并将SecurityStrategy.UserTypeSecurityStrategyComplex.RoleType属性设置为PermissionPolicyUserPermissionPolicyRole, 分别。XPO不需要此步骤。

using DevExpress.Persistent.BaseImpl.EF.PermissionPolicy;
// ...
public DbSet<PermissionPolicyRole> Roles { get; set; }
public DbSet<PermissionPolicyUser> Users { get; set; }
public DbSet<PermissionPolicyTypePermissionObject> TypePermissionObjects { get; set; }

安全性_EF

运行该应用程序,以查看“用户”和“角色”项现在已添加到导航中,为您当前的Windows帐户创建了一个用户,并且将“管理员”角色与其关联。默认情况下,将为运行该应用程序的每个新用户自动添加一个帐户(此行为在调试时很方便)。在生产环境中,可以通过将AuthenticationActiveDirectory.CreateUserAutomatically选项设置为false来禁用自动创建。

AuthenticationActiveDirectory_CreateUser自动

注意

为了进行更深入的自定义,您可以处理AuthenticationActiveDirectory.CustomCreateUser事件。例如,您可以自动创建与某个默认角色关联的受限帐户。

标准认证

另一种现成的身份验证类型是AuthenticationStandard。假定使用内部XAF身份验证,并且用户凭据保存在应用程序的数据库中。要应用此身份验证类型,请从工具箱中拖动相应的项目。

Tutorial_SS_Lesson2_0_1

使用标准身份验证,登录过程是交互式的,并且要求用户在启动时提供凭据。在这种情况下,将需要您手动创建预定义的角色和用户。

注意

您还可以实施自定义身份验证过程。请参阅“如何:使用自定义登录参数和身份验证”以查看示例。

在移动应用程序中,在MobileApplication.cs(MobileApplication.vb)文件的SetLogonParametersForUIBuilder方法中指定具有管理权限的现有用户。

protected override void SetLogonParametersForUIBuilder(object logonParameters) {
    base.SetLogonParametersForUIBuilder(logonParameters);
    ((AuthenticationStandardLogonParameters)logonParameters).UserName = "Sam";
    ((AuthenticationStandardLogonParameters)logonParameters).Password = "";
}

自定义身份验证

以下示例演示了自定义身份验证实现。

转载保留此链接,注明出处