我在我的XAF項目中使用了新的安全系統。我創建了自定義安全類「ExtendedSystemSecurityRole」和「SecuritySystemUser」。在Updater類中,我創建了一個名爲「G1」的角色及其權限,如下所示。但是在運行時,用戶「John」無法看到「Buyer」表單。Devexpress XAF新安全系統 - 「SecuritySystemObjectPermissionsObject」中的條件
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);
}
您是否忘記使userJohn處於活動狀態?如果您刪除標準,它會起作用嗎? DevExpress支持的最佳位置是[支持中心](https://www.devexpress.com/Support/Center/)。 – shamp00 2014-10-08 08:42:06
「John」已激活。是的,它沒有標準。 DevExpress支持中心僅向註冊用戶提供答案(具有有效許可證)。 – Armando 2014-10-08 16:37:15