Añadir una vista nueva utilizando una política nueva
Para añadir una vista nueva a la que se pueda acceder mediante un rol nuevo que no tiene una política basada en roles existentes, cree un archivo XML.
Por qué y cuándo se efectúa esta tarea
<?xml version="1.0" encoding="ISO-8859-1" standalone="no" ?>
<!DOCTYPE Policies SYSTEM "../dtd/accesscontrolpolicies.dtd">
<Policies>
<Action Name="MyNewView" CommandName="MyNewView">
</Action>
<ActionGroup Name="XYZViews"
OwnerID="RootOrganization">
<ActionGroupAction Name="MyNewView"/>
</ActionGroup>
<Policy Name="XYZExecuteXYZViews"
OwnerID="RootOrganization"
UserGroup="XYZ"
ActionGroupName="XYZViews"
ResourceGroupName="ViewCommandResourceGroup"
PolicyType="groupableStandard">
</Policy>
<PolicyGroup
Name="ManagementAndAdministrationPolicyGroup"
OwnerID="RootOrganization">
<PolicyGroupPolicy Name="XYZExecuteXYZViews"
PolicyOwnerId="RootOrganization" />
</PolicyGroup>
</Policies>
Procedimiento
-
Cree una nueva definición de acción en el archivo XML cuyo nombre de vista sea MyNewView. Este nombre puede cambiarlo por uno de su elección.
<Action Name=" MyNewView CommandName=" MyNewView"> </Action> -
Cree un nuevo grupo de acciones que se asociará al nuevo rol:
<ActionGroupName=" XYZViews" OwnerID="RootOrganization"> </ActionGroup>Donde XYZViews es el nombre del grupo de acciones. El valor de OwnerID para grupos de acciones debe ser siempre RootOrganization.
-
Asocie la nueva acción al nuevo grupo de acciones:
<ActionGroupName=" XYZViews" OwnerID="RootOrganization"> <ActionGroupAction Name=" MyNewView"/></ActionGroup>Donde XYZViews es el grupo de acciones y MyNewView es la acción que ha creado.
-
Cree una política que haga referencia al nuevo grupo de acciones:
<Policy Name=" XYZExecuteXYZViews" OwnerID="RootOrganization" UserGroup="XYZ" ActionGroupName=" XYZViews" ResourceGroupName="ViewCommandResourceGroup" PolicyType="groupableStandard"> </Policy>Donde XYZExecuteXYZViews es el nombre de la política y XYZViews es el grupo de acciones. En HCL Commerce 5.5, debido al modelo de suscripción a políticas, el valor de OwnerID de las políticas de plantilla agrupables y estándar agrupables no se utiliza para determinar a qué recursos se aplicará una política. Actualmente, el valor de OwnerID sólo lo utiliza la Consola de administración cuando se visualizan políticas por organización (propietario). Si una política se ha de aplicar a varias organizaciones, se recomienda establecer el valor de OwnerID en la organización predecesora común, por ejemplo la Organización raíz. Si una política se ha de aplicar solamente a una organización específica, se recomienda establecer el valor de OwnerID en el
orgentity_idde dicha organización. -
Incluya la nueva política en el grupo de políticas adecuado. De forma predeterminada, la mayor parte de las políticas basadas en roles se colocan en ManagementAndAdministrationPolicyGroup, lo que debe aplicarse a todas las organizaciones.
<PolicyGroupName="ManagementAndAdministrationPolicyGroup" OwnerID="RootOrganization"> <PolicyGroupPolicy Name="XYZExecuteXYZViews" PolicyOwnerId="RootOrganization"/> </PolicyGroup>Donde el valor de
PolicyOwnerIddebe ser el mismo que el valor deOwnerIDutilizado en la definición de políticas. - Cargue los cambios de XML en la base de datos. Para obtener más información sobre cómo cargar los cambios de XML, consulte Cargar datos de política de control de acceso.
-
Actualice el Registro de políticas de control de acceso en la Consola de administración haciendo lo siguiente:
- Inicie la Consola de administración como Administrador de sitio.
- Pulse Configuración > Registro.
- En la lista de registros, seleccione Políticas de control de acceso.
- Pulse Actualizar.
Resultados
Ahora puede utilizar la vista.