Package org.jamwiki.authentication

Examples of org.jamwiki.authentication.WikiUserDetails


  /**
   *
   */
  protected ModelAndView handleJAMWikiRequest(HttpServletRequest request, HttpServletResponse response, ModelAndView next, WikiPageInfo pageInfo) throws Exception {
    WikiUserDetails userDetails = ServletUtil.currentUserDetails();
    if (!userDetails.hasRole(RoleImpl.ROLE_MOVE)) {
      WikiMessage messageObject = new WikiMessage("login.message.move");
      return ServletUtil.viewLogin(request, pageInfo, WikiUtil.getTopicFromURI(request), messageObject);
    }
    if (request.getParameter("move") == null) {
      view(request, next, pageInfo);
View Full Code Here


        next.addObject("messageObject", new WikiMessage("move.exception.namespaceimage"));
        this.view(request, next, pageInfo);
        return false;
      }
    }
    WikiUserDetails userDetails = ServletUtil.currentUserDetails();
    if (!ServletUtil.isMoveable(virtualWiki, moveFrom, userDetails)) {
      this.view(request, next, pageInfo);
      next.addObject("messageObject", new WikiMessage("move.exception.permission", moveFrom));
      return false;
    }
View Full Code Here

   * menu links for the WikiPageInfo object.
   */
  private LinkedHashMap buildTabMenu(HttpServletRequest request,
      WikiPageInfo pageInfo) {
    LinkedHashMap<String, WikiMessage> links = new LinkedHashMap<String, WikiMessage>();
    WikiUserDetails userDetails = ServletUtil.currentUserDetails();
    String pageName = pageInfo.getTopicName();
    String virtualWiki = pageInfo.getVirtualWikiName();
    if (pageInfo.getAdmin()) {
      if (userDetails.hasRole(RoleImpl.ROLE_SYSADMIN)) {
        links.put("Special:Admin", new WikiMessage("tab.admin.configuration"));
        links.put("Special:Maintenance", new WikiMessage(
            "tab.admin.maintenance"));
        links.put("Special:Roles", new WikiMessage("tab.admin.roles"));
      }
      if (userDetails.hasRole(RoleImpl.ROLE_TRANSLATE)) {
        links.put("Special:Translation", new WikiMessage(
            "tab.admin.translations"));
      }
    } else if (pageInfo.getSpecial()) {
      // append query params for pages such as Special:Contributions that need
View Full Code Here

   * Build a map of links and the corresponding link text to be used as the user
   * menu links for the WikiPageInfo object.
   */
  private LinkedHashMap buildUserMenu(WikiPageInfo pageInfo) {
    LinkedHashMap<String, WikiMessage> links = new LinkedHashMap<String, WikiMessage>();
    WikiUserDetails userDetails = ServletUtil.currentUserDetails();
    if (userDetails.hasRole(RoleImpl.ROLE_ANONYMOUS)
        && !userDetails.hasRole(RoleImpl.ROLE_EMBEDDED)) {
      // include the current page in the login link
      String loginLink = "Special:Login";
      if (!StringUtils.startsWith(pageInfo.getTopicName(), "Special:Login")) {
        loginLink += LinkUtil.appendQueryParam("", PARAM_LOGIN_SUCCESS_TARGET,
            pageInfo.getTopicName());
      }
      links.put(loginLink, new WikiMessage("common.login"));
      links.put("Special:Account", new WikiMessage("usermenu.register"));
    }
    if (!userDetails.hasRole(RoleImpl.ROLE_ANONYMOUS)) {
      WikiUser user = ServletUtil.currentWikiUser();
      String userPage = NamespaceHandler.NAMESPACE_USER
          + NamespaceHandler.NAMESPACE_SEPARATOR + user.getUsername();
      String userCommentsPage = NamespaceHandler.NAMESPACE_USER_COMMENTS
          + NamespaceHandler.NAMESPACE_SEPARATOR + user.getUsername();
      String username = user.getUsername();
      if (!StringUtils.isBlank(user.getDisplayName())) {
        username = user.getDisplayName();
      }
      // user name will be escaped by the jamwiki:link tag
      WikiMessage userMenuMessage = new WikiMessage("usermenu.user");
      userMenuMessage.setParamsWithoutEscaping(new String[] { username });
      links.put(userPage, userMenuMessage);
      links.put(userCommentsPage, new WikiMessage("usermenu.usercomments"));
      links.put("Special:Watchlist", new WikiMessage("usermenu.watchlist"));
    }
    if (!userDetails.hasRole(RoleImpl.ROLE_ANONYMOUS)
        && !userDetails.hasRole(RoleImpl.ROLE_NO_ACCOUNT)) {
      links.put("Special:Account", new WikiMessage("usermenu.account"));
    }
    if (!userDetails.hasRole(RoleImpl.ROLE_ANONYMOUS)
        && !userDetails.hasRole(RoleImpl.ROLE_EMBEDDED)) {
      links.put("Special:Logout", new WikiMessage("common.logout"));
    }
    if (userDetails.hasRole(RoleImpl.ROLE_SYSADMIN)) {
      links.put("Special:Admin", new WikiMessage("usermenu.admin"));
    } else if (userDetails.hasRole(RoleImpl.ROLE_TRANSLATE)) {
      links.put("Special:Translation",
          new WikiMessage("tab.admin.translations"));
    }
    return links;
  }
View Full Code Here

  /**
   *
   */
  private void login(HttpServletRequest request, String username, String password) {
    WikiUserDetails userDetails = new WikiUserDetails(username, password, true, true, true, true, JAMWikiAuthenticationConfiguration.getDefaultGroupRoles());
    UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(userDetails, password, userDetails.getAuthorities());
    authentication.setDetails(new WebAuthenticationDetails(request));
    SecurityContextHolder.getContext().setAuthentication(authentication);
  }
View Full Code Here

   */
  private ModelAndView loginRequired(HttpServletRequest request,
      WikiPageInfo pageInfo) throws Exception {
    String topicName = WikiUtil.getTopicFromRequest(request);
    String virtualWiki = pageInfo.getVirtualWikiName();
    WikiUserDetails user = ServletUtil.currentUserDetails();
    if (ServletUtil.isEditable(virtualWiki, topicName, user)) {
      return null;
    }
    if (!user.hasRole(RoleImpl.ROLE_EDIT_EXISTING)) {
      WikiMessage messageObject = new WikiMessage("login.message.edit");
      return ServletUtil.viewLogin(request, pageInfo, WikiUtil
          .getTopicFromURI(request), messageObject);
    }
    if (!user.hasRole(RoleImpl.ROLE_EDIT_NEW)
        && WikiBase.getDataHandler().lookupTopic(virtualWiki, topicName, false,
            null) == null) {
      WikiMessage messageObject = new WikiMessage("login.message.editnew");
      return ServletUtil.viewLogin(request, pageInfo, WikiUtil
          .getTopicFromURI(request), messageObject);
View Full Code Here

      topicVersion.setEditType(TopicVersion.EDIT_MINOR);
    }
    WikiBase.getDataHandler().writeTopic(topic, topicVersion,
        parserOutput.getCategories(), parserOutput.getLinks());
    // // update watchlist
    WikiUserDetails userDetails = ServletUtil.currentUserDetails();
    if (!userDetails.hasRole(RoleImpl.ROLE_ANONYMOUS)) {
      // Watchlist watchlist = ServletUtil.currentWatchlist(request,
      // virtualWiki);
      // boolean watchTopic = (request.getParameter("watchTopic") != null);
      // if (watchlist.containsTopic(topicName) != watchTopic) {
      // WikiBase.getDataHandler().writeWatchlistEntry(watchlist, virtualWiki,
View Full Code Here

  /**
   *
   */
  private void update(HttpServletRequest request, ModelAndView next, WikiPageInfo pageInfo) throws Exception {
    WikiUserDetails userDetails = ServletUtil.currentUserDetails();
    if (userDetails.hasRole(RoleImpl.ROLE_ANONYMOUS)) {
      throw new WikiException(new WikiMessage("watchlist.error.loginrequired"));
    }
    String topicName = WikiUtil.getTopicFromRequest(request);
    String virtualWiki = pageInfo.getVirtualWikiName();
    Watchlist watchlist = ServletUtil.currentWatchlist(request, virtualWiki);
View Full Code Here

   *
   */
  private void view(HttpServletRequest request, ModelAndView next, WikiPageInfo pageInfo) throws Exception {
    String virtualWiki = pageInfo.getVirtualWikiName();
    Pagination pagination = ServletUtil.loadPagination(request, next);
    WikiUserDetails userDetails = ServletUtil.currentUserDetails();
    if (userDetails.hasRole(RoleImpl.ROLE_ANONYMOUS)) {
      throw new WikiException(new WikiMessage("watchlist.error.loginrequired"));
    }
    WikiUser user = ServletUtil.currentWikiUser();
    List<RecentChange> changes = WikiBase.getDataHandler().getWatchlist(virtualWiki, user.getUserId(), pagination);
    next.addObject("numChanges", changes.size());
View Full Code Here

      String value = props.getProperty(key);
      Environment.setValue(key, value);
    }
    Environment.saveProperties();
    // re-initialize to reset database settings (if needed)
    WikiUserDetails userDetails = ServletUtil.currentUserDetails();
    if (userDetails.hasRole(RoleImpl.ROLE_ANONYMOUS)) {
      throw new IllegalArgumentException(
          "Cannot pass null or anonymous WikiUser object to setupAdminUser");
    }
    WikiUser user = ServletUtil.currentWikiUser();
    WikiBase.reset(request.getLocale(), user, user.getUsername(), null);
View Full Code Here

TOP

Related Classes of org.jamwiki.authentication.WikiUserDetails

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.