]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - security/plugins/org.argeo.security.ui.rap/plugin.xml
Add remember me capabilities to RAP
[lgpl/argeo-commons.git] / security / plugins / org.argeo.security.ui.rap / plugin.xml
index 7e192647dff2e82f8813bd68a250a26125837274..27d151d6f41d9345e8b80f773da91e4af52b6d1c 100644 (file)
    <extension
          point="org.eclipse.rap.ui.entrypoint">
       <entrypoint
-            class="org.argeo.security.ui.rap.SecureEntryPoint"
             id="org.argeo.security.ui.rap.secureEntryPoint"
+            class="org.argeo.security.ui.rap.SecureEntryPoint"
             parameter="secureWebUi">
       </entrypoint>
-   </extension>
-   <extension
-         id="secureWebapp"
-         name="Argeo Secure Web App"
-         point="org.eclipse.core.runtime.applications">
-      <application cardinality="singleton-global"
-         thread="main"
-         visible="true">
-         <run
-               class="org.argeo.security.ui.rap.SecureEntryPoint">
-         </run>
-      </application>
+      <entrypoint
+            id="org.argeo.security.ui.rap.anonymousEntryPoint"
+            class="org.argeo.security.ui.rap.AnonymousEntryPoint"
+            parameter="publicWebUi">
+      </entrypoint>
+      <entrypoint
+            id="org.argeo.security.ui.rap.logoutEntryPoint"
+            class="org.argeo.security.ui.rap.LogoutEntryPoint"
+            parameter="logout">
+      </entrypoint>
+      <entrypoint
+            id="org.argeo.security.ui.rap.nullEntryPoint"
+            class="org.argeo.security.ui.rap.NullEntryPoint"
+            parameter="null">
+      </entrypoint>
    </extension>
 
        <extension
          point="org.eclipse.rap.ui.branding">
        <branding
                        id="org.argeo.security.ui.rap.branding"
-            servletName="secureWebUi"
+            servletName="node"
+            defaultEntrypointId="org.argeo.security.ui.rap.secureEntryPoint"
+            title="Argeo Web UI"
+            favicon="branding/favicon.ico"
+            body="branding/login.html">
+       </branding>
+       <branding
+                       id="org.argeo.security.ui.rap.branding"
+            servletName="ui"
+            defaultEntrypointId="org.argeo.security.ui.rap.secureEntryPoint"
+            title="Argeo Web UI"
+            favicon="branding/favicon.ico"
+            body="branding/login.html">
+       </branding>
+       <branding
+                       id="org.argeo.security.ui.rap.branding"
+            servletName="basicauth"
             defaultEntrypointId="org.argeo.security.ui.rap.secureEntryPoint"
-            title="Argeo Secure Web UI"
+            title="Argeo Web UI"
             favicon="branding/favicon.ico"
-            body="branding/default.htm">
+            body="branding/login.html">
+       </branding>
+       <branding
+                       id="org.argeo.security.ui.rap.branding"
+            servletName="public"
+            defaultEntrypointId="org.argeo.security.ui.rap.anonymousEntryPoint"
+            title="Argeo Public Web UI"
+            favicon="branding/favicon.ico"
+            body="branding/public.html">
+       </branding>
+       <branding
+                       id="org.argeo.security.ui.rap.branding"
+            servletName="logout"
+            defaultEntrypointId="org.argeo.security.ui.rap.logoutEntryPoint"
+            title="Argeo Logout"
+            favicon="branding/favicon.ico"
+            body="branding/afterLogout.html">
+       </branding>
+       <!-- we need a servlet with thios name j_spring_security_logout for the logout filter -->
+       <branding
+                       id="org.argeo.security.ui.rap.branding"
+            servletName="j_spring_security_logout"
+            defaultEntrypointId="org.argeo.security.ui.rap.nullEntryPoint"
+            title="Argeo Logout"
+            favicon="branding/favicon.ico"
+            body="branding/empty.html">
        </branding>
        </extension>
 
+   <extension
+         point="org.eclipse.equinox.security.callbackHandlerMapping">
+      <callbackHandlerMapping
+            callbackHandlerId="org.argeo.security.ui.defaultLoginDialog"
+            configName="SPRING">
+      </callbackHandlerMapping>
+   </extension>
+   <extension
+         point="org.eclipse.equinox.security.callbackHandlerMapping">
+         <callbackHandlerMapping
+            callbackHandlerId="org.argeo.security.ui.defaultLoginDialog"
+            configName="NIX">
+      </callbackHandlerMapping>
+   </extension>
+   <extension
+         point="org.eclipse.equinox.security.callbackHandlerMapping">
+      <callbackHandlerMapping
+            callbackHandlerId="org.argeo.security.ui.defaultLoginDialog"
+            configName="SPRING_SECURITY_CONTEXT">
+      </callbackHandlerMapping>
+   </extension>
+
+  <extension point="org.eclipse.ui.menus">
+     <menuContribution locationURI="toolbar:org.eclipse.ui.main.toolbar">
+        <toolbar id="org.argeo.security.ui.rap.userToolbar">
+           <command
+                 commandId="org.argeo.security.ui.rap.mainMenuCommand"
+                 icon="icons/main.gif"
+                 id="org.argeo.security.ui.rap.mainMenu"
+                 style="pulldown">
+           </command>
+           <command commandId="org.eclipse.ui.file.save"/>
+           <command commandId="org.eclipse.ui.file.saveAll"/>
+        </toolbar>
+     </menuContribution>
+     <menuContribution locationURI="menu:org.argeo.security.ui.rap.mainMenu">
+        <command
+              commandId="org.argeo.security.ui.rap.userMenuCommand"
+              icon="icons/home.gif"
+              id="org.argeo.security.ui.rap.userMenu">
+        </command>
+        <command
+              commandId="org.eclipse.ui.window.preferences"
+              icon="icons/preferences.png"/>
+        <command
+              commandId="org.argeo.security.ui.rap.openChangePasswordDialog"
+              icon="icons/password.gif"
+              label="Change password"/>
+        <separator
+              name="org.argeo.security.ui.rap.beforeFile"
+              visible="true">
+        </separator>
+        <command
+              commandId="org.eclipse.ui.file.closeAll"
+              icon="icons/closeAll.gif"/>
+           <command commandId="org.eclipse.ui.file.save"/>
+           <command commandId="org.eclipse.ui.file.saveAll"/>
+        <separator
+              name="org.argeo.security.ui.rap.beforeExit"
+              visible="true">
+        </separator>
+        <!--<command commandId="org.eclipse.ui.views.showView"/>-->
+        <!--<command commandId="org.eclipse.ui.perspectives.showPerspective"/>-->
+        <command
+              commandId="org.eclipse.ui.file.exit"
+              icon="icons/exit.png"/>
+     </menuContribution>
+  </extension>
+
+   <extension point="org.eclipse.ui.commands">
+      <command
+            id="org.argeo.security.ui.rap.openChangePasswordDialog"
+            defaultHandler="org.argeo.eclipse.spring.SpringCommandHandler"
+            name="Change Password">
+      </command>
+      <command
+            id="org.argeo.security.ui.rap.mainMenuCommand"
+            defaultHandler="org.argeo.security.ui.commands.OpenHomePerspective"
+            name="Main">
+      </command>
+    </extension>
+    
+  <extension
+           point="org.eclipse.ui.activities">
+        <activity
+              description="Not anonymous"
+              id="org.argeo.security.ui.rap.notAnonymousActivity"
+              name="NotAnonymous">
+                 <enabledWhen>
+                       <not>
+                   <with variable="roles">
+                     <iterate ifEmpty="false" operator="or">
+                       <equals value="ROLE_ANONYMOUS" />
+                     </iterate>
+                   </with>
+                   </not>
+                 </enabledWhen>
+        </activity>
+        <activityPatternBinding
+              activityId="org.argeo.security.ui.rap.notAnonymousActivity"
+              pattern="org.argeo.security.ui.rap/org.argeo.security.ui.rap.userMenuCommand"/>
+        <activityPatternBinding
+              activityId="org.argeo.security.ui.rap.notAnonymousActivity"
+              pattern="org.argeo.security.ui.rap/org.eclipse.ui.window.preferences"/>
+        <activityPatternBinding
+              activityId="org.argeo.security.ui.rap.notAnonymousActivity"
+              pattern="org.argeo.security.ui.rap/org.argeo.security.ui.rap.openChangePasswordDialog"/>
+     </extension>
 </plugin>