Autorização-recurso e permissão de recurso
Qualquer solicitação do aplicativo deve estar autorizada para assegurar que o usuário atual tenha permissões apropriadas para fazer a solicitação..
- Página de login-Um usuário não precisa de autorização para iniciar a página de login
- Ação de login-Todos os usuários com nome de usuário e senha podem efetuar login no aplicativo. A ação de login não requer autorização específica..
- Página inicial-Requer autorização com base no ID do Recurso do Aplicativo. Se você tiver permissão para acessar o aplicativo, será possível carregar a página inicial
- Ação de struts do controlador-Permissão específica não é necessária No entanto, a verificação de permissão ocorre em chamadas de mashup individuais
- Chamadas de mashup usando ação struts do controlador comum-Requer autorização, que é baseada na função do usuário.
- Ação de logout-Nenhuma permissão é necessária
Para ativar a autorização para mashups, o método de permissão de recurso é usado Todas as definições de mashup devem estar associadas a pelo menos um ResourceId, o que implica que uma chamada de mashup aberta não é permitida Os mashups comumente utilizados em toda a aplicação devem estar associados ao ResourceId WSCSYS00001. Um exemplo de definição de mashup com ResourceId associação é o seguinte (observe o elemento AlternateResourceId(s) de associação a ResourceId):
O fragmento de código a seguir define um mashup. Esse mashup será autorizado se o usuário atual tiver permissão para qualquer um dos três ResourceIds mencionados no mashup
<?xml version="1.0" encoding="UTF-8"?>
<mashups>
<mashup cached="SESSION"
description="Get List of Organizations applicable for current user"
endpoint="EP_CONFIG" id="addItems_getOrganizationList"
mashuptype="XAPI" transactional="true">
<classInformation name="com.ibm.wsc.common.mashups.SCCSBaseMashup"/>
<API Name="getOrganizationList">
<Input>
<Organization
DisplayLocalizedFieldInLocale="xml:CurrentUser:/User/@Localecode" MaximumRecords="">
<OrgRoleList>
<OrgRole RoleKey="ENTERPRISE"/>
<OrgRole RoleKey="SELLER"/>
</OrgRoleList>
<DataAccessFilter UserId="xml:CurrentUser:/User/@Loginid"/>
<OrderBy>
<Attribute Desc="N" Name="OrganizationName"/>
</OrderBy>
</Organization>
</Input>
<Template>
<OrganizationList>
<Organization CustomerMasterOrganizationCode=""
LocaleCode="" OrganizationCode="" OrganizationName="">
<BillingPersonInfo City="" Country="" ZipCode=""/>
</Organization>
</OrganizationList>
</Template>
</API>
<APINamespace inputNS="getOrganizationList_input" outputNS="getOrganizationList_output"/>
<AlternateResourceIds>
<AlternateResourceId altResourceId="WSCSYS00001"/>
<AlternateResourceId altResourceId="WSC000006"/>
</AlternateResourceIds>
</mashup>
</mashups>Verificação de permissão da UI: com base nas permissões de recursos, determinados widgets da UI são desativados ou ocultos. Por exemplo, o link "Substituir preço" na tela Incluir produtos é controlado por permissão. Somente se o usuário tiver a permissão de recurso para substituir o preço do produto, o link estará visível na UI. Isso é alcançado especificando um atributo resourceId e um valor correspondente para o widget que deve ser controlado por permissão..
Controlar a visibilidade dos widgets na interface com o usuário é bom da perspectiva de usabilidade. No entanto, essa técnica torna o aplicativo inseguro porque os widgets ocultos podem ser visíveis manipulando a resposta do lado do cliente usando várias ferramentas ou extensões do navegador, como Firebug. Portanto, não é suficiente tornar os widgets (botões ou links) controlados por permissão na IU, mas a ação associada ao widget também deve ser controlada por permissão no backend. Por exemplo, não é suficiente ocultar o link "Substituir preço" na IU, mas a ação que o link executa também deve ser associada a uma verificação de permissão no backend.
As permissões de recursos são designadas no nível do grupo para usuários Administradores do sistema e oportunidades de vendas do Sterling Store Engagement são permissões designadas a todas as tarefas. No entanto, um associado da loja não recebe permissões para todas as tarefas.