0

XAF プロジェクトで新しいセキュリティ システムを使用しています。カスタム セキュリティ クラス「ExtendedSystemSecurityRole」と「SecuritySystemUser」を作成しました。Updater クラスで、「G1」という名前のロールとその権限を次のように作成しました。しかし、実行中、ユーザー "John" は "Buyer" フォームを見ることができません。

ExtendedSecuritySystemRole basicUserRole = ObjectSpace.FindObject<ExtendedSecuritySystemRole>(new BinaryOperator("Name", "G1"));
        if (basicUserRole == null)             
        {
            basicUserRole = ObjectSpace.CreateObject<ExtendedSecuritySystemRole>();
            basicUserRole.Name = "G1";
            SecuritySystemTypePermissionObject userTypePermission =
                ObjectSpace.CreateObject<SecuritySystemTypePermissionObject>();
            userTypePermission.TargetType = typeof(Buyer);
            SecuritySystemObjectPermissionsObject currentUserObjectPermission =
                ObjectSpace.CreateObject<SecuritySystemObjectPermissionsObject>();

            currentUserObjectPermission.Criteria = "[Active] = True";
            currentUserObjectPermission.AllowNavigate = true;
            currentUserObjectPermission.AllowRead = true;
            userTypePermission.ObjectPermissions.Add(currentUserObjectPermission);
            basicUserRole.TypePermissions.Add(userTypePermission);
        }
        ExtendedSecuritySystemUser userJohn =
            ObjectSpace.FindObject<ExtendedSecuritySystemUser>(
            new BinaryOperator("UserName", "John"));
        if (userJohn == null)
        {
            userJohn = ObjectSpace.CreateObject<ExtendedSecuritySystemUser>();
            userJohn.UserName = "John";
            userJohn.SetPassword("");
            userJohn.Roles.Add(basicUserRole);
        }
4

1 に答える 1