Commit 62c17b5d authored by Liang Ding's avatar Liang Ding

🎨 #12527

parent d8f875ff
...@@ -38,6 +38,7 @@ import org.b3log.latke.service.LangPropsService; ...@@ -38,6 +38,7 @@ import org.b3log.latke.service.LangPropsService;
import org.b3log.latke.service.ServiceException; import org.b3log.latke.service.ServiceException;
import org.b3log.latke.servlet.HTTPRequestContext; import org.b3log.latke.servlet.HTTPRequestContext;
import org.b3log.latke.servlet.HTTPRequestMethod; import org.b3log.latke.servlet.HTTPRequestMethod;
import org.b3log.latke.servlet.annotation.Before;
import org.b3log.latke.servlet.annotation.RequestProcessing; import org.b3log.latke.servlet.annotation.RequestProcessing;
import org.b3log.latke.servlet.annotation.RequestProcessor; import org.b3log.latke.servlet.annotation.RequestProcessor;
import org.b3log.latke.servlet.renderer.freemarker.AbstractFreeMarkerRenderer; import org.b3log.latke.servlet.renderer.freemarker.AbstractFreeMarkerRenderer;
...@@ -48,6 +49,7 @@ import org.b3log.solo.model.Common; ...@@ -48,6 +49,7 @@ import org.b3log.solo.model.Common;
import org.b3log.solo.model.Option; import org.b3log.solo.model.Option;
import org.b3log.solo.model.Skin; import org.b3log.solo.model.Skin;
import org.b3log.solo.model.UserExt; import org.b3log.solo.model.UserExt;
import org.b3log.solo.processor.console.common.ConsoleAuthAdvice;
import org.b3log.solo.processor.renderer.ConsoleRenderer; import org.b3log.solo.processor.renderer.ConsoleRenderer;
import org.b3log.solo.processor.util.Filler; import org.b3log.solo.processor.util.Filler;
import org.b3log.solo.service.ExportService; import org.b3log.solo.service.ExportService;
...@@ -73,10 +75,11 @@ import java.util.*; ...@@ -73,10 +75,11 @@ import java.util.*;
* Admin console render processing. * Admin console render processing.
* *
* @author <a href="http://88250.b3log.org">Liang Ding</a> * @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.7.0.4, Aug 8, 2018 * @version 1.7.0.5, Sep 25, 2018
* @since 0.4.1 * @since 0.4.1
*/ */
@RequestProcessor @RequestProcessor
@Before(adviceClass = ConsoleAuthAdvice.class)
public class AdminConsole { public class AdminConsole {
/** /**
...@@ -141,26 +144,18 @@ public class AdminConsole { ...@@ -141,26 +144,18 @@ public class AdminConsole {
@RequestProcessing(value = "/admin-index.do", method = HTTPRequestMethod.GET) @RequestProcessing(value = "/admin-index.do", method = HTTPRequestMethod.GET)
public void showAdminIndex(final HttpServletRequest request, final HTTPRequestContext context) { public void showAdminIndex(final HttpServletRequest request, final HTTPRequestContext context) {
final AbstractFreeMarkerRenderer renderer = new ConsoleRenderer(); final AbstractFreeMarkerRenderer renderer = new ConsoleRenderer();
context.setRenderer(renderer); context.setRenderer(renderer);
final String templateName = "admin-index.ftl"; final String templateName = "admin-index.ftl";
renderer.setTemplateName(templateName); renderer.setTemplateName(templateName);
final Map<String, String> langs = langPropsService.getAll(Latkes.getLocale()); final Map<String, String> langs = langPropsService.getAll(Latkes.getLocale());
final Map<String, Object> dataModel = renderer.getDataModel(); final Map<String, Object> dataModel = renderer.getDataModel();
dataModel.putAll(langs); dataModel.putAll(langs);
final JSONObject currentUser = userQueryService.getCurrentUser(request); final JSONObject currentUser = userQueryService.getCurrentUser(request);
final String userName = currentUser.optString(User.USER_NAME); final String userName = currentUser.optString(User.USER_NAME);
dataModel.put(User.USER_NAME, userName); dataModel.put(User.USER_NAME, userName);
final String roleName = currentUser.optString(User.USER_ROLE); final String roleName = currentUser.optString(User.USER_ROLE);
dataModel.put(User.USER_ROLE, roleName); dataModel.put(User.USER_ROLE, roleName);
final String email = currentUser.optString(User.USER_EMAIL); final String email = currentUser.optString(User.USER_EMAIL);
final String userAvatar = currentUser.optString(UserExt.USER_AVATAR); final String userAvatar = currentUser.optString(UserExt.USER_AVATAR);
if (StringUtils.isNotBlank(userAvatar)) { if (StringUtils.isNotBlank(userAvatar)) {
dataModel.put(Common.GRAVATAR, userAvatar); dataModel.put(Common.GRAVATAR, userAvatar);
...@@ -171,7 +166,6 @@ public class AdminConsole { ...@@ -171,7 +166,6 @@ public class AdminConsole {
try { try {
final JSONObject preference = preferenceQueryService.getPreference(); final JSONObject preference = preferenceQueryService.getPreference();
dataModel.put(Option.ID_C_LOCALE_STRING, preference.getString(Option.ID_C_LOCALE_STRING)); dataModel.put(Option.ID_C_LOCALE_STRING, preference.getString(Option.ID_C_LOCALE_STRING));
dataModel.put(Option.ID_C_BLOG_TITLE, preference.getString(Option.ID_C_BLOG_TITLE)); dataModel.put(Option.ID_C_BLOG_TITLE, preference.getString(Option.ID_C_BLOG_TITLE));
dataModel.put(Option.ID_C_BLOG_SUBTITLE, preference.getString(Option.ID_C_BLOG_SUBTITLE)); dataModel.put(Option.ID_C_BLOG_SUBTITLE, preference.getString(Option.ID_C_BLOG_SUBTITLE));
...@@ -183,7 +177,6 @@ public class AdminConsole { ...@@ -183,7 +177,6 @@ public class AdminConsole {
dataModel.put(Option.ID_C_LOCALE_STRING, preference.getString(Option.ID_C_LOCALE_STRING)); dataModel.put(Option.ID_C_LOCALE_STRING, preference.getString(Option.ID_C_LOCALE_STRING));
dataModel.put(Option.ID_C_EDITOR_TYPE, preference.getString(Option.ID_C_EDITOR_TYPE)); dataModel.put(Option.ID_C_EDITOR_TYPE, preference.getString(Option.ID_C_EDITOR_TYPE));
dataModel.put(Skin.SKIN_DIR_NAME, preference.getString(Skin.SKIN_DIR_NAME)); dataModel.put(Skin.SKIN_DIR_NAME, preference.getString(Skin.SKIN_DIR_NAME));
Keys.fillRuntime(dataModel); Keys.fillRuntime(dataModel);
filler.fillMinified(dataModel); filler.fillMinified(dataModel);
} catch (final Exception e) { } catch (final Exception e) {
......
...@@ -28,6 +28,7 @@ import org.b3log.latke.service.LangPropsService; ...@@ -28,6 +28,7 @@ import org.b3log.latke.service.LangPropsService;
import org.b3log.latke.service.ServiceException; import org.b3log.latke.service.ServiceException;
import org.b3log.latke.servlet.HTTPRequestContext; import org.b3log.latke.servlet.HTTPRequestContext;
import org.b3log.latke.servlet.HTTPRequestMethod; import org.b3log.latke.servlet.HTTPRequestMethod;
import org.b3log.latke.servlet.annotation.Before;
import org.b3log.latke.servlet.annotation.RequestProcessing; import org.b3log.latke.servlet.annotation.RequestProcessing;
import org.b3log.latke.servlet.annotation.RequestProcessor; import org.b3log.latke.servlet.annotation.RequestProcessor;
import org.b3log.latke.servlet.renderer.JSONRenderer; import org.b3log.latke.servlet.renderer.JSONRenderer;
...@@ -35,6 +36,7 @@ import org.b3log.latke.util.Requests; ...@@ -35,6 +36,7 @@ import org.b3log.latke.util.Requests;
import org.b3log.latke.util.Strings; import org.b3log.latke.util.Strings;
import org.b3log.solo.model.Article; import org.b3log.solo.model.Article;
import org.b3log.solo.model.Common; import org.b3log.solo.model.Common;
import org.b3log.solo.processor.console.common.ConsoleAuthAdvice;
import org.b3log.solo.service.ArticleMgmtService; import org.b3log.solo.service.ArticleMgmtService;
import org.b3log.solo.service.ArticleQueryService; import org.b3log.solo.service.ArticleQueryService;
import org.b3log.solo.service.UserQueryService; import org.b3log.solo.service.UserQueryService;
...@@ -53,10 +55,11 @@ import java.util.stream.Collectors; ...@@ -53,10 +55,11 @@ import java.util.stream.Collectors;
* Article console request processing. * Article console request processing.
* *
* @author <a href="http://88250.b3log.org">Liang Ding</a> * @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.1.1.2, Sep 20, 2018 * @version 1.1.1.3, Sep 25, 2018
* @since 0.4.0 * @since 0.4.0
*/ */
@RequestProcessor @RequestProcessor
@Before(adviceClass = ConsoleAuthAdvice.class)
public class ArticleConsole { public class ArticleConsole {
/** /**
...@@ -108,16 +111,9 @@ public class ArticleConsole { ...@@ -108,16 +111,9 @@ public class ArticleConsole {
* @param request the specified http servlet request * @param request the specified http servlet request
* @param response the specified http servlet response * @param response the specified http servlet response
* @param context the specified http request context * @param context the specified http request context
* @throws Exception exception
*/ */
@RequestProcessing(value = "/console/thumbs", method = HTTPRequestMethod.GET) @RequestProcessing(value = "/console/thumbs", method = HTTPRequestMethod.GET)
public void getArticleThumbs(final HttpServletRequest request, final HttpServletResponse response, final HTTPRequestContext context) public void getArticleThumbs(final HttpServletRequest request, final HttpServletResponse response, final HTTPRequestContext context) {
throws Exception {
if (!userQueryService.isLoggedIn(request, response)) {
response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
return;
}
final JSONRenderer renderer = new JSONRenderer(); final JSONRenderer renderer = new JSONRenderer();
context.setRenderer(renderer); context.setRenderer(renderer);
final JSONObject result = new JSONObject(); final JSONObject result = new JSONObject();
...@@ -151,13 +147,10 @@ public class ArticleConsole { ...@@ -151,13 +147,10 @@ public class ArticleConsole {
* } * }
* @param response the specified http servlet response * @param response the specified http servlet response
* @param context the specified http request context * @param context the specified http request context
* @throws Exception exception
*/ */
@RequestProcessing(value = "/console/markdown/2html", method = HTTPRequestMethod.POST) @RequestProcessing(value = "/console/markdown/2html", method = HTTPRequestMethod.POST)
public void markdown2HTML(final HttpServletRequest request, final HttpServletResponse response, final HTTPRequestContext context) public void markdown2HTML(final HttpServletRequest request, final HttpServletResponse response, final HTTPRequestContext context) {
throws Exception {
final JSONRenderer renderer = new JSONRenderer(); final JSONRenderer renderer = new JSONRenderer();
context.setRenderer(renderer); context.setRenderer(renderer);
final JSONObject result = new JSONObject(); final JSONObject result = new JSONObject();
renderer.setJSONObject(result); renderer.setJSONObject(result);
...@@ -170,11 +163,6 @@ public class ArticleConsole { ...@@ -170,11 +163,6 @@ public class ArticleConsole {
return; return;
} }
if (!userQueryService.isLoggedIn(request, response)) {
response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
return;
}
try { try {
String html = Emotions.convert(markdownText); String html = Emotions.convert(markdownText);
html = Markdowns.toHTML(html); html = Markdowns.toHTML(html);
...@@ -218,16 +206,9 @@ public class ArticleConsole { ...@@ -218,16 +206,9 @@ public class ArticleConsole {
* @param request the specified http servlet request * @param request the specified http servlet request
* @param response the specified http servlet response * @param response the specified http servlet response
* @param context the specified http request context * @param context the specified http request context
* @throws Exception exception
*/ */
@RequestProcessing(value = "/console/article/*", method = HTTPRequestMethod.GET) @RequestProcessing(value = "/console/article/*", method = HTTPRequestMethod.GET)
public void getArticle(final HttpServletRequest request, final HttpServletResponse response, final HTTPRequestContext context) public void getArticle(final HttpServletRequest request, final HttpServletResponse response, final HTTPRequestContext context) {
throws Exception {
if (!userQueryService.isLoggedIn(request, response)) {
response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
return;
}
final JSONRenderer renderer = new JSONRenderer(); final JSONRenderer renderer = new JSONRenderer();
context.setRenderer(renderer); context.setRenderer(renderer);
...@@ -279,17 +260,10 @@ public class ArticleConsole { ...@@ -279,17 +260,10 @@ public class ArticleConsole {
* @param request the specified http servlet request * @param request the specified http servlet request
* @param response the specified http servlet response * @param response the specified http servlet response
* @param context the specified http request context * @param context the specified http request context
* @throws Exception exception
*/ */
@RequestProcessing(value = "/console/articles/status/*/*/*/*"/* Requests.PAGINATION_PATH_PATTERN */, @RequestProcessing(value = "/console/articles/status/*/*/*/*"/* Requests.PAGINATION_PATH_PATTERN */,
method = HTTPRequestMethod.GET) method = HTTPRequestMethod.GET)
public void getArticles(final HttpServletRequest request, final HttpServletResponse response, final HTTPRequestContext context) public void getArticles(final HttpServletRequest request, final HttpServletResponse response, final HTTPRequestContext context) {
throws Exception {
if (!userQueryService.isLoggedIn(request, response)) {
response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
return;
}
final JSONRenderer renderer = new JSONRenderer(); final JSONRenderer renderer = new JSONRenderer();
context.setRenderer(renderer); context.setRenderer(renderer);
...@@ -353,16 +327,10 @@ public class ArticleConsole { ...@@ -353,16 +327,10 @@ public class ArticleConsole {
* @param request the specified http servlet request * @param request the specified http servlet request
* @param response the specified http servlet response * @param response the specified http servlet response
* @param articleId the specified article id * @param articleId the specified article id
* @throws Exception exception
*/ */
@RequestProcessing(value = "/console/article/{articleId}", method = HTTPRequestMethod.DELETE) @RequestProcessing(value = "/console/article/{articleId}", method = HTTPRequestMethod.DELETE)
public void removeArticle(final HTTPRequestContext context, final HttpServletRequest request, final HttpServletResponse response, public void removeArticle(final HTTPRequestContext context, final HttpServletRequest request, final HttpServletResponse response,
final String articleId) throws Exception { final String articleId) {
if (!userQueryService.isLoggedIn(request, response)) {
response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
return;
}
final JSONRenderer renderer = new JSONRenderer(); final JSONRenderer renderer = new JSONRenderer();
context.setRenderer(renderer); context.setRenderer(renderer);
final JSONObject ret = new JSONObject(); final JSONObject ret = new JSONObject();
...@@ -405,16 +373,9 @@ public class ArticleConsole { ...@@ -405,16 +373,9 @@ public class ArticleConsole {
* @param context the specified http request context * @param context the specified http request context
* @param request the specified http servlet request * @param request the specified http servlet request
* @param response the specified http servlet response * @param response the specified http servlet response
* @throws Exception exception
*/ */
@RequestProcessing(value = "/console/article/unpublish/*", method = HTTPRequestMethod.PUT) @RequestProcessing(value = "/console/article/unpublish/*", method = HTTPRequestMethod.PUT)
public void cancelPublishArticle(final HTTPRequestContext context, final HttpServletRequest request, final HttpServletResponse response) public void cancelPublishArticle(final HTTPRequestContext context, final HttpServletRequest request, final HttpServletResponse response) {
throws Exception {
if (!userQueryService.isLoggedIn(request, response)) {
response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
return;
}
final JSONRenderer renderer = new JSONRenderer(); final JSONRenderer renderer = new JSONRenderer();
context.setRenderer(renderer); context.setRenderer(renderer);
final JSONObject ret = new JSONObject(); final JSONObject ret = new JSONObject();
...@@ -459,16 +420,9 @@ public class ArticleConsole { ...@@ -459,16 +420,9 @@ public class ArticleConsole {
* @param context the specified http request context * @param context the specified http request context
* @param request the specified http servlet request * @param request the specified http servlet request
* @param response the specified http servlet response * @param response the specified http servlet response
* @throws Exception exception
*/ */
@RequestProcessing(value = "/console/article/canceltop/*", method = HTTPRequestMethod.PUT) @RequestProcessing(value = "/console/article/canceltop/*", method = HTTPRequestMethod.PUT)
public void cancelTopArticle(final HTTPRequestContext context, final HttpServletRequest request, final HttpServletResponse response) public void cancelTopArticle(final HTTPRequestContext context, final HttpServletRequest request, final HttpServletResponse response) {
throws Exception {
if (!userQueryService.isLoggedIn(request, response)) {
response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
return;
}
final JSONRenderer renderer = new JSONRenderer(); final JSONRenderer renderer = new JSONRenderer();
context.setRenderer(renderer); context.setRenderer(renderer);
final JSONObject ret = new JSONObject(); final JSONObject ret = new JSONObject();
...@@ -514,16 +468,9 @@ public class ArticleConsole { ...@@ -514,16 +468,9 @@ public class ArticleConsole {
* @param context the specified http request context * @param context the specified http request context
* @param request the specified http servlet request * @param request the specified http servlet request
* @param response the specified http servlet response * @param response the specified http servlet response
* @throws Exception exception
*/ */
@RequestProcessing(value = "/console/article/puttop/*", method = HTTPRequestMethod.PUT) @RequestProcessing(value = "/console/article/puttop/*", method = HTTPRequestMethod.PUT)
public void putTopArticle(final HTTPRequestContext context, final HttpServletRequest request, final HttpServletResponse response) public void putTopArticle(final HTTPRequestContext context, final HttpServletRequest request, final HttpServletResponse response) {
throws Exception {
if (!userQueryService.isLoggedIn(request, response)) {
response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
return;
}
final JSONRenderer renderer = new JSONRenderer(); final JSONRenderer renderer = new JSONRenderer();
context.setRenderer(renderer); context.setRenderer(renderer);
final JSONObject ret = new JSONObject(); final JSONObject ret = new JSONObject();
...@@ -590,11 +537,6 @@ public class ArticleConsole { ...@@ -590,11 +537,6 @@ public class ArticleConsole {
@RequestProcessing(value = "/console/article/", method = HTTPRequestMethod.PUT) @RequestProcessing(value = "/console/article/", method = HTTPRequestMethod.PUT)
public void updateArticle(final HTTPRequestContext context, final HttpServletRequest request, final HttpServletResponse response, public void updateArticle(final HTTPRequestContext context, final HttpServletRequest request, final HttpServletResponse response,
final JSONObject requestJSONObject) throws Exception { final JSONObject requestJSONObject) throws Exception {
if (!userQueryService.isLoggedIn(request, response)) {
response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
return;
}
final JSONRenderer renderer = new JSONRenderer(); final JSONRenderer renderer = new JSONRenderer();
context.setRenderer(renderer); context.setRenderer(renderer);
final JSONObject ret = new JSONObject(); final JSONObject ret = new JSONObject();
...@@ -660,11 +602,6 @@ public class ArticleConsole { ...@@ -660,11 +602,6 @@ public class ArticleConsole {
@RequestProcessing(value = "/console/article/", method = HTTPRequestMethod.POST) @RequestProcessing(value = "/console/article/", method = HTTPRequestMethod.POST)
public void addArticle(final HttpServletRequest request, final HttpServletResponse response, final HTTPRequestContext context, public void addArticle(final HttpServletRequest request, final HttpServletResponse response, final HTTPRequestContext context,
final JSONObject requestJSONObject) throws Exception { final JSONObject requestJSONObject) throws Exception {
if (!userQueryService.isLoggedIn(request, response)) {
response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
return;
}
final JSONRenderer renderer = new JSONRenderer(); final JSONRenderer renderer = new JSONRenderer();
context.setRenderer(renderer); context.setRenderer(renderer);
final JSONObject ret = new JSONObject(); final JSONObject ret = new JSONObject();
......
...@@ -31,7 +31,7 @@ import org.b3log.latke.servlet.annotation.RequestProcessing; ...@@ -31,7 +31,7 @@ import org.b3log.latke.servlet.annotation.RequestProcessing;
import org.b3log.latke.servlet.annotation.RequestProcessor; import org.b3log.latke.servlet.annotation.RequestProcessor;
import org.b3log.latke.servlet.renderer.JSONRenderer; import org.b3log.latke.servlet.renderer.JSONRenderer;
import org.b3log.latke.util.Requests; import org.b3log.latke.util.Requests;
import org.b3log.solo.processor.console.common.ProcessAuthAdvice; import org.b3log.solo.processor.console.common.ConsoleAuthAdvice;
import org.b3log.solo.processor.renderer.ConsoleRenderer; import org.b3log.solo.processor.renderer.ConsoleRenderer;
import org.b3log.solo.service.PluginMgmtService; import org.b3log.solo.service.PluginMgmtService;
import org.b3log.solo.service.PluginQueryService; import org.b3log.solo.service.PluginQueryService;
...@@ -45,12 +45,12 @@ import java.util.Map; ...@@ -45,12 +45,12 @@ import java.util.Map;
* Plugin console request processing. * Plugin console request processing.
* *
* @author <a href="http://88250.b3log.org">Liang Ding</a> * @author <a href="http://88250.b3log.org">Liang Ding</a>
* @author <a href="mailto:wmainlove@gmail.com">Love Yao</a> * @author <a href="https://hacpai.com/member/mainlove">Love Yao</a>
* @version 1.1.0.2, Sep 20, 2018 * @version 1.1.0.2, Sep 20, 2018
* @since 0.4.0 * @since 0.4.0
*/ */
@RequestProcessor @RequestProcessor
@Before(adviceClass = ProcessAuthAdvice.class) @Before(adviceClass = ConsoleAuthAdvice.class)
public class PluginConsole { public class PluginConsole {
/** /**
......
...@@ -17,47 +17,50 @@ ...@@ -17,47 +17,50 @@
*/ */
package org.b3log.solo.processor.console.common; package org.b3log.solo.processor.console.common;
import org.b3log.latke.Keys;
import org.b3log.latke.ioc.LatkeBeanManager; import org.b3log.latke.ioc.LatkeBeanManager;
import org.b3log.latke.ioc.Lifecycle; import org.b3log.latke.ioc.Lifecycle;
import org.b3log.latke.ioc.inject.Named; import org.b3log.latke.ioc.inject.Named;
import org.b3log.latke.ioc.inject.Singleton; import org.b3log.latke.ioc.inject.Singleton;
import org.b3log.latke.logging.Level;
import org.b3log.latke.logging.Logger; import org.b3log.latke.logging.Logger;
import org.b3log.latke.servlet.HTTPRequestContext; import org.b3log.latke.servlet.HTTPRequestContext;
import org.b3log.latke.servlet.advice.BeforeRequestProcessAdvice; import org.b3log.latke.servlet.advice.BeforeRequestProcessAdvice;
import org.b3log.latke.servlet.advice.RequestProcessAdviceException;
import org.b3log.solo.service.UserQueryService; import org.b3log.solo.service.UserQueryService;
import org.json.JSONObject;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.Map; import java.util.Map;
/** /**
* The common auth check before advice for admin console. * The common auth check before advice for admin console.
* *
* @author <a href="mailto:wmainlove@gmail.com">Love Yao</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a> * @author <a href="http://88250.b3log.org">Liang Ding</a>
* @version 1.0.1.1, Sep 25, 2018 * @version 1.0.1.1, Sep 25, 2018
* @since 2.9.5
*/ */
@Named @Named
@Singleton @Singleton
public class ProcessAuthAdvice extends BeforeRequestProcessAdvice { public class ConsoleAuthAdvice extends BeforeRequestProcessAdvice {
/** /**
* Logger. * Logger.
*/ */
private static final Logger LOGGER = Logger.getLogger(ProcessAuthAdvice.class); private static final Logger LOGGER = Logger.getLogger(ConsoleAuthAdvice.class);
@Override @Override
public void doAdvice(final HTTPRequestContext context, final Map<String, Object> args) { public void doAdvice(final HTTPRequestContext context, final Map<String, Object> args) throws RequestProcessAdviceException {
final LatkeBeanManager beanManager = Lifecycle.getBeanManager(); final LatkeBeanManager beanManager = Lifecycle.getBeanManager();
final UserQueryService userQueryService = beanManager.getReference(UserQueryService.class); final UserQueryService userQueryService = beanManager.getReference(UserQueryService.class);
if (!userQueryService.isAdminLoggedIn(context.getRequest())) { final HttpServletRequest request = context.getRequest();
try { if (!userQueryService.isLoggedIn(request, context.getResponse())) {
context.getResponse().sendError(HttpServletResponse.SC_FORBIDDEN); final JSONObject exception401 = new JSONObject();
} catch (final IOException e) { exception401.put(Keys.MSG, "Unauthorized to request [" + request.getRequestURI() + "]");
LOGGER.log(Level.ERROR, "Response sends error failed", e); exception401.put(Keys.STATUS_CODE, HttpServletResponse.SC_UNAUTHORIZED);
}
throw new RequestProcessAdviceException(exception401);
} }
} }
} }
...@@ -46,27 +46,6 @@ ...@@ -46,27 +46,6 @@
<url-pattern>/*</url-pattern> <url-pattern>/*</url-pattern>
</filter-mapping> </filter-mapping>
<filter>
<filter-name>AuthFilter</filter-name>
<filter-class>org.b3log.solo.filter.AuthFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>AuthFilter</filter-name>
<url-pattern>/admin-index.do</url-pattern>
<url-pattern>/admin-main.do</url-pattern>
<url-pattern>/admin-article.do</url-pattern>
<url-pattern>/admin-article-list.do</url-pattern>
<url-pattern>/admin-comment-list.do</url-pattern>
<url-pattern>/admin-link-list.do</url-pattern>
<url-pattern>/admin-preference.do</url-pattern>
<url-pattern>/admin-page-list.do</url-pattern>
<url-pattern>/admin-others.do</url-pattern>
<url-pattern>/admin-draft-list.do</url-pattern>
<url-pattern>/admin-user-list.do</url-pattern>
<url-pattern>/admin-plugin-list.do</url-pattern>
<url-pattern>/admin-about.do</url-pattern>
<url-pattern>/fix/*</url-pattern>
</filter-mapping>
<filter> <filter>
<filter-name>PermalinkFilter</filter-name> <filter-name>PermalinkFilter</filter-name>
<filter-class>org.b3log.solo.filter.PermalinkFilter</filter-class> <filter-class>org.b3log.solo.filter.PermalinkFilter</filter-class>
......
...@@ -81,7 +81,7 @@ ...@@ -81,7 +81,7 @@
<ul> <ul>
<li><a target="_blank" href="http://88250.b3log.org">D</a></li> <li><a target="_blank" href="http://88250.b3log.org">D</a></li>
<li><a target="_blank" href="http://vanessa.b3log.org">V</a></li> <li><a target="_blank" href="http://vanessa.b3log.org">V</a></li>
<li><a target="_blank" href="mailto:wmainlove@gmail.com">mainlove</a></li> <li><a target="_blank" href="https://hacpai.com/member/mainlove">mainlove</a></li>
<li><a target="_blank" href="http://people.apache.org/%7Edongxu">DX</a></li> <li><a target="_blank" href="http://people.apache.org/%7Edongxu">DX</a></li>
<li><a target="_blank" href="http://mizhichashao.com">大叔</a></li> <li><a target="_blank" href="http://mizhichashao.com">大叔</a></li>
<li><a target="_blank" href="http://www.jiangzezhou.com">javen.jiang</a></li> <li><a target="_blank" href="http://www.jiangzezhou.com">javen.jiang</a></li>
......
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