Rafael Cavazin
2013-01-27 06ae63123c94038b90153f4847de2c57c0193db8
src/com/gitblit/wicket/pages/BasePage.java
@@ -98,6 +98,10 @@
      return GitBlitWebSession.get().getLocale().getLanguage();
   }
   
   protected String getCountryCode() {
      return GitBlitWebSession.get().getLocale().getCountry().toLowerCase();
   }
   protected TimeUtils getTimeUtils() {
      if (timeUtils == null) {
         ResourceBundle bundle;      
@@ -130,14 +134,21 @@
   }   
   private void login() {
      GitBlitWebSession session = GitBlitWebSession.get();
      if (session.isLoggedIn() && !session.isSessionInvalidated()) {
         // already have a session, refresh usermodel to pick up
         // any changes to permissions or roles (issue-186)
         UserModel user = GitBlit.self().getUserModel(session.getUser().username);
         session.setUser(user);
         return;
      }
      // try to authenticate by servlet request
      HttpServletRequest httpRequest = ((WebRequest) getRequestCycle().getRequest()).getHttpServletRequest();
      UserModel user = GitBlit.self().authenticate(httpRequest);
      // Login the user
      if (user != null) {
         // Set the user into the session
         GitBlitWebSession session = GitBlitWebSession.get();
         // issue 62: fix session fixation vulnerability
         session.replaceSession();
         session.setUser(user);
@@ -422,14 +433,19 @@
      public UserFragment(String id, String markupId, MarkupContainer markupProvider) {
         super(id, markupId, markupProvider);
         if (GitBlitWebSession.get().isLoggedIn()) {
         GitBlitWebSession session = GitBlitWebSession.get();
         if (session.isLoggedIn()) {
            UserModel user = session.getUser();
            boolean editCredentials = GitBlit.self().supportsCredentialChanges(user);
            boolean standardLogin = session.authenticationType.isStandard();
            // username, logout, and change password
            add(new Label("username", GitBlitWebSession.get().getUser().getDisplayName() + ":"));
            add(new Label("username", user.getDisplayName() + ":"));
            add(new LinkPanel("loginLink", null, markupProvider.getString("gb.logout"),
                  LogoutPage.class));
            boolean editCredentials = GitBlit.self().supportsCredentialChanges();
                  LogoutPage.class).setVisible(standardLogin));
            // quick and dirty hack for showing a separator
            add(new Label("separator", "|").setVisible(editCredentials));
            add(new Label("separator", "|").setVisible(standardLogin && editCredentials));
            add(new BookmarkablePageLink<Void>("changePasswordLink", 
                  ChangePasswordPage.class).setVisible(editCredentials));
         } else {