1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.codelibs.fess.app.web.base;
17
18 import org.codelibs.fess.app.web.admin.AdminAction;
19 import org.codelibs.fess.app.web.admin.dashboard.AdminDashboardAction;
20 import org.codelibs.fess.mylasta.action.FessUserBean;
21 import org.lastaflute.web.response.HtmlResponse;
22
23 public abstract class FessLoginAction extends FessSearchAction {
24 protected HtmlResponse getHtmlResponse() {
25 return getUserBean().map(this::redirectByUser).orElse(asHtml(virtualHost(path_Login_IndexJsp)));
26 }
27
28 protected HtmlResponse redirectByUser(final FessUserBean user) {
29 if (user.hasRoles(fessConfig.getAuthenticationAdminRolesAsArray())) {
30 return redirect(AdminDashboardAction.class);
31 }
32 final Class<? extends FessAdminAction> actionClass = AdminAction.getAdminActionClass(user);
33 if (actionClass != null) {
34 return redirect(actionClass);
35 }
36 return redirectToRoot();
37 }
38 }