2015-08-26 3 views
-3

У меня есть две разные страницы (edit.jsf и upload.jsf). Я хочу достичь этих двух страниц разными пользователями. Например: -user1 может достигать upload.jsf -user2 может достигать edit.jsfКак назначить двух пользователей на две разные страницы?

Когда я попытался назначить эти два пользователя к двум различным роли приложения и предоставил для редактирования и загрузки страницы на эту роль два приложения, Я добираюсь до страницы загрузки. Но я не достигла редактирования страницы с user2

Это мой jazn-data.xml файл

<jazn-realm default="jazn.com"> 
    <realm> 
     <name>jazn.com</name> 
     <users> 
      <user> 
       <name>user1</name> 
       <credentials>{903}I8hy/xEW1elDCG8QWE7n2C6WAT6MF22v2jpkMSVdHUk=</credentials> 
       <display-name>user1</display-name> 
      </user> 
      <user> 
       <name>user2</name> 
       <credentials>{903}obu0YOPXqe0RuRqhRhJjBjx3zLIb1bdMQQypod5RGJc=</credentials> 
       <display-name>user2</display-name> 
      </user> 
     </users> 
    </realm> 
</jazn-realm> 
<policy-store> 
    <applications> 
     <application> 
      <name>AdminPnel</name> 
      <app-roles> 
       <app-role> 
        <name>AdminRole</name> 
        <class>oracle.security.jps.service.policystore.ApplicationRole</class> 
        <display-name>AdminRole</display-name> 
        <members> 
         <member> 
          <class>oracle.security.jps.internal.core.principals.JpsXmlUserImpl</class> 
          <name>user1</name> 
         </member> 
        </members> 
       </app-role> 
       <app-role> 
        <name>EditRole</name> 
        <class>oracle.security.jps.service.policystore.ApplicationRole</class> 
        <display-name>EditRole</display-name> 
        <members> 
         <member> 
          <class>oracle.security.jps.internal.core.principals.JpsXmlUserImpl</class> 
          <name>user2</name> 
         </member> 
        </members> 
       </app-role> 
      </app-roles> 
      <jazn-policy> 
       <grant> 
        <grantee> 
         <principals> 
          <principal> 
           <class>oracle.security.jps.service.policystore.ApplicationRole</class> 
           <name>AdminRole</name> 
          </principal> 
         </principals> 
        </grantee> 
        <permissions> 
         <permission> 
          <class>oracle.adf.share.security.authorization.RegionPermission</class> 
          <name>view.pageDefs.uploadPageDef</name> 
          <actions>view</actions> 
         </permission> 
         <permission> 
          <class>oracle.adf.share.security.authorization.RegionPermission</class> 
          <name>view.pageDefs.editPageDef</name> 
          <actions>view</actions> 
         </permission> 
        </permissions> 
       </grant> 
       <grant> 
        <grantee> 
         <principals> 
          <principal> 
           <class>oracle.security.jps.service.policystore.ApplicationRole</class> 
           <name>EditRole</name> 
          </principal> 
         </principals> 
        </grantee> 
        <permissions> 
         <permission> 
          <class>oracle.adf.share.security.authorization.RegionPermission</class> 
          <name>view.pageDefs.editPageDef</name> 
          <actions>view</actions> 
         </permission> 
        </permissions> 
       </grant> 
      </jazn-policy> 
     </application> 
    </applications> 
</policy-store> 
+0

Пожалуйста, внесите свой код и объясните его больше. Это очень неопределенный и ленивый способ спросить. – Misgevolution

+1

использует поток задач с компонентом маршрутизатора, в котором вы проверяете имена пользователей и отправляете их на каждую отдельную страницу на основе сравнения с их логином – MihaiC

ответ

0

Судя по разрешениям. Пользователь2 должен иметь возможность доступа только к странице редактирования, а пользователь 1 может получить доступ к странице загрузки и редактирования. Разве это не сценарий?

AdminRole получил разрешение региона на обе страницы и пользователь1 является его частью.

EditRole предоставлено только разрешение на редактирование области, а user2 - его часть. Поэтому user2 должен иметь возможность редактировать и не получать доступ к странице загрузки.

Смежные вопросы