Index: src/main/java/com/xpn/xwiki/web/XWikiAction.java =================================================================== --- src/main/java/com/xpn/xwiki/web/XWikiAction.java (revision 4070) +++ src/main/java/com/xpn/xwiki/web/XWikiAction.java (revision 4071) @@ -167,14 +167,14 @@ try { XWikiException xex = (XWikiException) e; if (xex.getCode() == XWikiException.ERROR_XWIKI_ACCESS_DENIED) { - Utils.parseTemplate("accessdenied", context); + Utils.parseTemplate(context.getWiki().Param("xwiki.access_exception", "accessdenied"), context); return null; } else if (xex.getCode() == XWikiException.ERROR_XWIKI_USER_INACTIVE) { - Utils.parseTemplate("userinactive", context); + Utils.parseTemplate(context.getWiki().Param("xwiki.user_exception", "userinactive"), context); return null; - }else if(xex.getCode() == XWikiException.ERROR_XWIKI_APP_ATTACHMENT_NOT_FOUND){ + } else if(xex.getCode() == XWikiException.ERROR_XWIKI_APP_ATTACHMENT_NOT_FOUND){ context.put("message","attachmentdoesnotexist"); - Utils.parseTemplate("exception", context); + Utils.parseTemplate(context.getWiki().Param("xwiki.attachment_exception", "attachmentdoesnotexist"), context); return null; } vcontext.put("exp", e); Index: src/main/java/com/xpn/xwiki/user/impl/xwiki/XWikiRightServiceImpl.java =================================================================== --- src/main/java/com/xpn/xwiki/user/impl/xwiki/XWikiRightServiceImpl.java (revision 4070) +++ src/main/java/com/xpn/xwiki/user/impl/xwiki/XWikiRightServiceImpl.java (revision 4071) @@ -37,7 +37,8 @@ import java.util.*; -public class XWikiRightServiceImpl implements XWikiRightService { +public class XWikiRightServiceImpl implements XWikiRightService +{ private static final Log log = LogFactory.getLog(XWikiRightServiceImpl.class); private static Map actionMap; private static List allLevels = Arrays.asList( @@ -144,9 +145,12 @@ user = new XWikiUser(context.getUser()); if ((user == null) && (needsAuth)) { - if (context.getRequest() != null) - context.getWiki().getAuthService().showLogin(context); logDeny("unauthentified", doc.getFullName(), action, "Authentication needed"); + if (context.getRequest() != null) { + if (!context.getWiki().Param("xwiki.hidelogin", "false").equalsIgnoreCase("true")) { + context.getWiki().getAuthService().showLogin(context); + } + } return false; } } catch (XWikiException e) { @@ -189,9 +193,10 @@ if (user == null) { // Denied Guest need to be authenticated - logDeny("unauthentified", (doc==null) ? "" : doc.getFullName(), action, "Guest has been denied - Redirecting to authentication"); - if (context.getRequest() != null) + logDeny("unauthentified", (doc==null) ? "" : doc.getFullName(), action, "Guest has been denied"); + if (context.getRequest() != null && !context.getWiki().Param("xwiki.hidelogin", "false").equalsIgnoreCase("true")) { context.getWiki().getAuthService().showLogin(context); + } return false; } else { logDeny(username, doc.getFullName(), action, "access manager denied right");