private static void AuthenticationActiveDirectoryProvider_CustomCreateUser(object sender, CustomCreateUserEventArgs e) { AuthenticationActiveDirectoryProvider provider = (AuthenticationActiveDirectoryProvider)sender; CustomPermissionPolicyUser user = e.ObjectSpace.CreateObject <CustomPermissionPolicyUser>(); user.UserName = e.UserName; user.IsActiveDirectoryUser = true; provider.CanInitializeNewUser.InitializeNewUser(e.ObjectSpace, user); e.User = user; e.Handled = true; }
public static void Setup(XafApplication application) { AuthenticationMixed mixedAuthentication = new AuthenticationMixed(); mixedAuthentication.LogonParametersType = typeof(MixedLogonParameters); mixedAuthentication.IsSupportChangePassword = true; CustomAuthenticationStandardProvider authenticationStandardProvider = new CustomAuthenticationStandardProvider(application.Security.UserType); AuthenticationActiveDirectoryProvider authenticationActiveDirectoryProvider = new AuthenticationActiveDirectoryProvider(application.Security.UserType, (ICanInitializeNewUser)application.Security, true); authenticationActiveDirectoryProvider.CustomCreateUser += AuthenticationActiveDirectoryProvider_CustomCreateUser; mixedAuthentication.AuthenticationProviders.Add(typeof(AuthenticationStandardProvider).Name, authenticationStandardProvider); mixedAuthentication.AuthenticationProviders.Add(typeof(AuthenticationActiveDirectoryProvider).Name, authenticationActiveDirectoryProvider); ((SecurityStrategyComplex)application.Security).Authentication = mixedAuthentication; application.LoggingOn += SecurityMixedAuthenticationWindowsFormsApplication_LoggingOn; }