Commit 0ec3ce37 authored by Liang Ding's avatar Liang Ding

🎨 细化 403 消息

parent 157cbf1e
......@@ -18,6 +18,7 @@
package org.b3log.solo.processor;
import org.apache.commons.lang.StringUtils;
import org.b3log.latke.Keys;
import org.b3log.latke.ioc.Inject;
import org.b3log.latke.logging.Level;
import org.b3log.latke.logging.Logger;
......@@ -43,7 +44,7 @@ import java.util.Map;
* Error processor.
*
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.0.1.7, Jan 25, 2019
* @version 1.0.1.8, Mar 4, 2019
* @since 0.4.5
*/
@RequestProcessor
......@@ -91,8 +92,7 @@ public class ErrorProcessor {
if (StringUtils.equals("GET", context.method())) {
final String requestURI = context.requestURI();
final String templateName = statusCode + ".ftl";
LOGGER.log(Level.TRACE, "Shows error page[requestURI={0}, templateName={1}]",
requestURI, templateName);
LOGGER.log(Level.TRACE, "Shows error page [requestURI={0}, templateName={1}]", requestURI, templateName);
final AbstractFreeMarkerRenderer renderer = new SkinRenderer(context, "error/" + templateName);
final Map<String, Object> dataModel = renderer.getDataModel();
......@@ -101,9 +101,11 @@ public class ErrorProcessor {
dataModel.putAll(langs);
final JSONObject preference = optionQueryService.getPreference();
dataModelService.fillCommon(context, dataModel, preference);
final String msg = (String) context.attr(Keys.MSG);
dataModel.put(Keys.MSG, msg);
dataModel.put(Common.LOGIN_URL, userQueryService.getLoginURL(Common.ADMIN_INDEX_URI));
} catch (final Exception e) {
LOGGER.log(Level.ERROR, e.getMessage(), e);
LOGGER.log(Level.ERROR, "Shows error page failed", e);
context.sendError(HttpServletResponse.SC_NOT_FOUND);
}
......
......@@ -28,6 +28,7 @@ import org.b3log.latke.logging.Level;
import org.b3log.latke.logging.Logger;
import org.b3log.latke.model.Role;
import org.b3log.latke.model.User;
import org.b3log.latke.service.LangPropsService;
import org.b3log.latke.servlet.HttpMethod;
import org.b3log.latke.servlet.RequestContext;
import org.b3log.latke.servlet.annotation.RequestProcessing;
......@@ -53,7 +54,7 @@ import java.util.concurrent.ConcurrentHashMap;
* </ul>
*
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.0.0.6, Mar 2, 2019
* @version 1.0.0.7, Mar 4, 2019
* @since 2.9.5
*/
@RequestProcessor
......@@ -99,6 +100,12 @@ public class OAuthProcessor {
@Inject
private InitService initService;
/**
* Language service.
*/
@Inject
private LangPropsService langPropsService;
/**
* Redirects to auth page.
*
......@@ -184,6 +191,7 @@ public class OAuthProcessor {
user = userQueryService.getUserByName(userName);
if (null == user) {
if (!optionQueryService.allowRegister()) {
context.attr(Keys.MSG, langPropsService.get("notAllowRegisterLabel"));
context.sendError(HttpServletResponse.SC_FORBIDDEN);
return;
......
......@@ -23,6 +23,7 @@
<h2>403 Forbidden!</h2>
<img class="img-error" src="${staticServePath}/images/403.png" alt="403" title="403 Forbidden!" />
<div class="a-error">
${msg!}
Return to <a href="${servePath}">Index</a>.
</div>
</@commonPage>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment