You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2007/10/26 15:40:07 UTC

svn commit: r588641 - /lenya/trunk/src/modules-core/ac/java/src/org/apache/lenya/cms/cocoon/acting/SslRedirectAction.java

Author: andreas
Date: Fri Oct 26 06:40:07 2007
New Revision: 588641

URL: http://svn.apache.org/viewvc?rev=588641&view=rev
Log:
Use request.isSecure() instead of protocol string comparison. Moved check out of try block for better performance. Tested with mod_proxy_ajp.

Modified:
    lenya/trunk/src/modules-core/ac/java/src/org/apache/lenya/cms/cocoon/acting/SslRedirectAction.java

Modified: lenya/trunk/src/modules-core/ac/java/src/org/apache/lenya/cms/cocoon/acting/SslRedirectAction.java
URL: http://svn.apache.org/viewvc/lenya/trunk/src/modules-core/ac/java/src/org/apache/lenya/cms/cocoon/acting/SslRedirectAction.java?rev=588641&r1=588640&r2=588641&view=diff
==============================================================================
--- lenya/trunk/src/modules-core/ac/java/src/org/apache/lenya/cms/cocoon/acting/SslRedirectAction.java (original)
+++ lenya/trunk/src/modules-core/ac/java/src/org/apache/lenya/cms/cocoon/acting/SslRedirectAction.java Fri Oct 26 06:40:07 2007
@@ -58,40 +58,41 @@
         AccessController accessController = null;
 
         Request request = ObjectModelHelper.getRequest(objectModel);
-
-        try {
-            selector = (ServiceSelector) this.manager.lookup(AccessControllerResolver.ROLE
-                    + "Selector");
-
-            resolver = (AccessControllerResolver) selector
-                    .select(AccessControllerResolver.DEFAULT_RESOLVER);
-
-            String url = ServletHelper.getWebappURI(request);
-            accessController = resolver.resolveAccessController(url);
-
-            if (accessController != null) {
-
-                PolicyManager policyManager = accessController.getPolicyManager();
-                Policy policy = policyManager.getPolicy(accessController.getAccreditableManager(),
-                        url);
-                if (policy.isSSLProtected() && !request.getScheme().equals("https")) {
-                    Session session = RepositoryUtil.getSession(this.manager, request);
-                    LinkRewriter rewriter = new OutgoingLinkRewriter(this.manager, session, url,
-                            false, true, false);
-                    String sslUri = rewriter.rewrite(url);
-                    return Collections.singletonMap(KEY_REDIRECT_URI, sslUri);
+        
+        if (!request.isSecure()) {
+            try {
+                selector = (ServiceSelector) this.manager.lookup(AccessControllerResolver.ROLE
+                        + "Selector");
+    
+                resolver = (AccessControllerResolver) selector
+                        .select(AccessControllerResolver.DEFAULT_RESOLVER);
+    
+                String url = ServletHelper.getWebappURI(request);
+                accessController = resolver.resolveAccessController(url);
+    
+                if (accessController != null) {
+                    PolicyManager policyManager = accessController.getPolicyManager();
+                    Policy policy = policyManager.getPolicy(accessController.getAccreditableManager(),
+                            url);
+                    if (policy.isSSLProtected()) {
+                        Session session = RepositoryUtil.getSession(this.manager, request);
+                        LinkRewriter rewriter = new OutgoingLinkRewriter(this.manager, session, url,
+                                false, true, false);
+                        String sslUri = rewriter.rewrite(url);
+                        return Collections.singletonMap(KEY_REDIRECT_URI, sslUri);
+                    }
                 }
-            }
-
-        } finally {
-            if (selector != null) {
-                if (resolver != null) {
-                    if (accessController != null) {
-                        resolver.release(accessController);
+    
+            } finally {
+                if (selector != null) {
+                    if (resolver != null) {
+                        if (accessController != null) {
+                            resolver.release(accessController);
+                        }
+                        selector.release(resolver);
                     }
-                    selector.release(resolver);
+                    this.manager.release(selector);
                 }
-                this.manager.release(selector);
             }
         }
         return null;



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org