]> WPIA git - gigi.git/blobdiff - src/org/cacert/gigi/Gigi.java
Add a specific cert-download/install link for chrome
[gigi.git] / src / org / cacert / gigi / Gigi.java
index 63ce7fe8d21a99de14fbdd300e24ef1491da8e2c..ac7ff60e4637c310f8ed08912d7fc5d35a601aca 100644 (file)
@@ -106,12 +106,19 @@ public class Gigi extends HttpServlet {
         public Menu generateMenu() throws ServletException {
             putPage("/denied", new AccessDenied(), null);
             putPage("/error", new PageNotFound(), null);
-            putPage("/login", new LoginPage("Password Login"), "CAcert.org");
+            putPage("/login", new LoginPage("Password Login"), null);
+            getMenu("CAcert.org").addItem(new SimpleMenuItem("https://" + ServerConstants.getWwwHostNamePort() + "/login", "Password Login") {
+
+                @Override
+                public boolean isPermitted(AuthorizationContext ac) {
+                    return ac == null;
+                }
+            });
             getMenu("CAcert.org").addItem(new SimpleMenuItem("https://" + ServerConstants.getSecureHostNamePort() + "/login", "Certificate Login") {
 
                 @Override
-                public boolean isPermitted(User u) {
-                    return u == null;
+                public boolean isPermitted(AuthorizationContext ac) {
+                    return ac == null;
                 }
             });
             putPage("/", new MainPage("CAcert - Home"), null);
@@ -326,8 +333,7 @@ public class Gigi extends HttpServlet {
                 return;
             }
             AuthorizationContext currentAuthContext = LoginPage.getAuthorizationContext(req);
-            User currentPageUser = LoginPage.getUser(req);
-            if ( !p.isPermitted(currentPageUser)) {
+            if ( !p.isPermitted(currentAuthContext)) {
                 if (hs.getAttribute("loggedin") == null) {
                     String request = req.getPathInfo();
                     request = request.split("\\?")[0];
@@ -369,14 +375,15 @@ public class Gigi extends HttpServlet {
             };
             Language lang = Page.getLanguage(req);
 
-            vars.put(Menu.USER_VALUE, currentPageUser);
+            vars.put(Menu.AUTH_VALUE, currentAuthContext);
             vars.put("menu", rootMenu);
             vars.put("title", lang.getTranslation(p.getTitle()));
             vars.put("static", getStaticTemplateVar(isSecure));
             vars.put("year", Calendar.getInstance().get(Calendar.YEAR));
             vars.put("content", content);
-            if (currentPageUser != null) {
+            if (currentAuthContext != null) {
                 CertificateOwner target = currentAuthContext.getTarget();
+                User currentPageUser = LoginPage.getUser(req);
                 if (target != currentPageUser) {
                     vars.put("loggedInAs", ((Organisation) target).getName() + " (" + currentPageUser.getName().toString() + ")");
                 } else {