1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.codelibs.fess.app.web.admin;
17
18 import org.codelibs.fess.annotation.Secured;
19 import org.codelibs.fess.app.web.admin.accesstoken.AdminAccesstokenAction;
20 import org.codelibs.fess.app.web.admin.backup.AdminBackupAction;
21 import org.codelibs.fess.app.web.admin.badword.AdminBadwordAction;
22 import org.codelibs.fess.app.web.admin.boostdoc.AdminBoostdocAction;
23 import org.codelibs.fess.app.web.admin.crawlinginfo.AdminCrawlinginfoAction;
24 import org.codelibs.fess.app.web.admin.dashboard.AdminDashboardAction;
25 import org.codelibs.fess.app.web.admin.dataconfig.AdminDataconfigAction;
26 import org.codelibs.fess.app.web.admin.design.AdminDesignAction;
27 import org.codelibs.fess.app.web.admin.dict.AdminDictAction;
28 import org.codelibs.fess.app.web.admin.duplicatehost.AdminDuplicatehostAction;
29 import org.codelibs.fess.app.web.admin.elevateword.AdminElevatewordAction;
30 import org.codelibs.fess.app.web.admin.failureurl.AdminFailureurlAction;
31 import org.codelibs.fess.app.web.admin.fileauth.AdminFileauthAction;
32 import org.codelibs.fess.app.web.admin.fileconfig.AdminFileconfigAction;
33 import org.codelibs.fess.app.web.admin.general.AdminGeneralAction;
34 import org.codelibs.fess.app.web.admin.group.AdminGroupAction;
35 import org.codelibs.fess.app.web.admin.joblog.AdminJoblogAction;
36 import org.codelibs.fess.app.web.admin.keymatch.AdminKeymatchAction;
37 import org.codelibs.fess.app.web.admin.labeltype.AdminLabeltypeAction;
38 import org.codelibs.fess.app.web.admin.log.AdminLogAction;
39 import org.codelibs.fess.app.web.admin.maintenance.AdminMaintenanceAction;
40 import org.codelibs.fess.app.web.admin.pathmap.AdminPathmapAction;
41 import org.codelibs.fess.app.web.admin.plugin.AdminPluginAction;
42 import org.codelibs.fess.app.web.admin.relatedcontent.AdminRelatedcontentAction;
43 import org.codelibs.fess.app.web.admin.relatedquery.AdminRelatedqueryAction;
44 import org.codelibs.fess.app.web.admin.reqheader.AdminReqheaderAction;
45 import org.codelibs.fess.app.web.admin.role.AdminRoleAction;
46 import org.codelibs.fess.app.web.admin.scheduler.AdminSchedulerAction;
47 import org.codelibs.fess.app.web.admin.searchlog.AdminSearchlogAction;
48 import org.codelibs.fess.app.web.admin.sereq.AdminSereqAction;
49 import org.codelibs.fess.app.web.admin.storage.AdminStorageAction;
50 import org.codelibs.fess.app.web.admin.suggest.AdminSuggestAction;
51 import org.codelibs.fess.app.web.admin.systeminfo.AdminSysteminfoAction;
52 import org.codelibs.fess.app.web.admin.user.AdminUserAction;
53 import org.codelibs.fess.app.web.admin.webauth.AdminWebauthAction;
54 import org.codelibs.fess.app.web.admin.webconfig.AdminWebconfigAction;
55 import org.codelibs.fess.app.web.admin.wizard.AdminWizardAction;
56 import org.codelibs.fess.app.web.base.FessAdminAction;
57 import org.codelibs.fess.mylasta.action.FessUserBean;
58 import org.lastaflute.web.Execute;
59 import org.lastaflute.web.response.HtmlResponse;
60
61
62
63
64 public class AdminAction extends FessAdminAction {
65
66
67
68
69 public AdminAction() {
70 super();
71 }
72
73 @Override
74 protected String getActionRole() {
75 return "admin";
76 }
77
78
79
80
81
82
83
84
85 @Execute
86 @Secured({
87 AdminDashboardAction.ROLE,
88 AdminDashboardAction.ROLE + VIEW,
89 AdminWizardAction.ROLE,
90 AdminWizardAction.ROLE + VIEW,
91 AdminGeneralAction.ROLE,
92 AdminGeneralAction.ROLE + VIEW,
93 AdminSchedulerAction.ROLE,
94 AdminSchedulerAction.ROLE + VIEW,
95 AdminDesignAction.ROLE,
96 AdminDesignAction.ROLE + VIEW,
97 AdminDictAction.ROLE,
98 AdminDictAction.ROLE + VIEW,
99 AdminAccesstokenAction.ROLE,
100 AdminAccesstokenAction.ROLE + VIEW,
101 AdminPluginAction.ROLE,
102 AdminPluginAction.ROLE + VIEW,
103 AdminStorageAction.ROLE,
104 AdminStorageAction.ROLE + VIEW,
105 AdminWebconfigAction.ROLE,
106 AdminWebconfigAction.ROLE + VIEW,
107 AdminFileconfigAction.ROLE,
108 AdminFileconfigAction.ROLE + VIEW,
109 AdminDataconfigAction.ROLE,
110 AdminDataconfigAction.ROLE + VIEW,
111 AdminLabeltypeAction.ROLE,
112 AdminLabeltypeAction.ROLE + VIEW,
113 AdminKeymatchAction.ROLE,
114 AdminKeymatchAction.ROLE + VIEW,
115 AdminBoostdocAction.ROLE,
116 AdminBoostdocAction.ROLE + VIEW,
117 AdminRelatedcontentAction.ROLE,
118 AdminRelatedcontentAction.ROLE + VIEW,
119 AdminRelatedqueryAction.ROLE,
120 AdminRelatedqueryAction.ROLE + VIEW,
121 AdminPathmapAction.ROLE,
122 AdminPathmapAction.ROLE + VIEW,
123 AdminWebauthAction.ROLE,
124 AdminWebauthAction.ROLE + VIEW,
125 AdminFileauthAction.ROLE,
126 AdminFileauthAction.ROLE + VIEW,
127 AdminReqheaderAction.ROLE,
128 AdminReqheaderAction.ROLE + VIEW,
129 AdminDuplicatehostAction.ROLE,
130 AdminDuplicatehostAction.ROLE + VIEW,
131 AdminUserAction.ROLE,
132 AdminUserAction.ROLE + VIEW,
133 AdminRoleAction.ROLE,
134 AdminRoleAction.ROLE + VIEW,
135 AdminGroupAction.ROLE,
136 AdminGroupAction.ROLE + VIEW,
137 AdminSuggestAction.ROLE,
138 AdminSuggestAction.ROLE + VIEW,
139 AdminElevatewordAction.ROLE,
140 AdminElevatewordAction.ROLE + VIEW,
141 AdminBadwordAction.ROLE,
142 AdminBadwordAction.ROLE + VIEW,
143 AdminSysteminfoAction.ROLE,
144 AdminSysteminfoAction.ROLE + VIEW,
145 AdminSearchlogAction.ROLE,
146 AdminSearchlogAction.ROLE + VIEW,
147 AdminJoblogAction.ROLE,
148 AdminJoblogAction.ROLE + VIEW,
149 AdminCrawlinginfoAction.ROLE,
150 AdminCrawlinginfoAction.ROLE + VIEW,
151 AdminLogAction.ROLE,
152 AdminLogAction.ROLE + VIEW,
153 AdminFailureurlAction.ROLE,
154 AdminFailureurlAction.ROLE + VIEW,
155 AdminBackupAction.ROLE,
156 AdminBackupAction.ROLE + VIEW,
157 AdminMaintenanceAction.ROLE,
158 AdminMaintenanceAction.ROLE + VIEW,
159 AdminSereqAction.ROLE,
160 AdminSereqAction.ROLE + VIEW,
161 AdminDashboardAction.ROLE,
162 AdminDashboardAction.ROLE + VIEW,
163 AdminWizardAction.ROLE,
164 AdminWizardAction.ROLE + VIEW,
165 AdminGeneralAction.ROLE,
166 AdminGeneralAction.ROLE + VIEW,
167 AdminSchedulerAction.ROLE,
168 AdminSchedulerAction.ROLE + VIEW,
169 AdminDesignAction.ROLE,
170 AdminDesignAction.ROLE + VIEW,
171 AdminDictAction.ROLE,
172 AdminDictAction.ROLE + VIEW,
173 AdminAccesstokenAction.ROLE,
174 AdminAccesstokenAction.ROLE + VIEW,
175 AdminPluginAction.ROLE,
176 AdminPluginAction.ROLE + VIEW,
177 AdminStorageAction.ROLE,
178 AdminStorageAction.ROLE + VIEW,
179 AdminWebconfigAction.ROLE,
180 AdminWebconfigAction.ROLE + VIEW,
181 AdminFileconfigAction.ROLE,
182 AdminFileconfigAction.ROLE + VIEW,
183 AdminDataconfigAction.ROLE,
184 AdminDataconfigAction.ROLE + VIEW,
185 AdminLabeltypeAction.ROLE,
186 AdminLabeltypeAction.ROLE + VIEW,
187 AdminKeymatchAction.ROLE,
188 AdminKeymatchAction.ROLE + VIEW,
189 AdminBoostdocAction.ROLE,
190 AdminBoostdocAction.ROLE + VIEW,
191 AdminRelatedcontentAction.ROLE,
192 AdminRelatedcontentAction.ROLE + VIEW,
193 AdminRelatedqueryAction.ROLE,
194 AdminRelatedqueryAction.ROLE + VIEW,
195 AdminPathmapAction.ROLE,
196 AdminPathmapAction.ROLE + VIEW,
197 AdminWebauthAction.ROLE,
198 AdminWebauthAction.ROLE + VIEW,
199 AdminFileauthAction.ROLE,
200 AdminFileauthAction.ROLE + VIEW,
201 AdminReqheaderAction.ROLE,
202 AdminReqheaderAction.ROLE + VIEW,
203 AdminDuplicatehostAction.ROLE,
204 AdminDuplicatehostAction.ROLE + VIEW,
205 AdminUserAction.ROLE,
206 AdminUserAction.ROLE + VIEW,
207 AdminRoleAction.ROLE,
208 AdminRoleAction.ROLE + VIEW,
209 AdminGroupAction.ROLE,
210 AdminGroupAction.ROLE + VIEW,
211 AdminSuggestAction.ROLE,
212 AdminSuggestAction.ROLE + VIEW,
213 AdminElevatewordAction.ROLE,
214 AdminElevatewordAction.ROLE + VIEW,
215 AdminBadwordAction.ROLE,
216 AdminBadwordAction.ROLE + VIEW,
217 AdminSysteminfoAction.ROLE,
218 AdminSysteminfoAction.ROLE + VIEW,
219 AdminSearchlogAction.ROLE,
220 AdminSearchlogAction.ROLE + VIEW,
221 AdminJoblogAction.ROLE,
222 AdminJoblogAction.ROLE + VIEW,
223 AdminCrawlinginfoAction.ROLE,
224 AdminCrawlinginfoAction.ROLE + VIEW,
225 AdminLogAction.ROLE,
226 AdminLogAction.ROLE + VIEW,
227 AdminFailureurlAction.ROLE,
228 AdminFailureurlAction.ROLE + VIEW,
229 AdminBackupAction.ROLE,
230 AdminBackupAction.ROLE + VIEW,
231 AdminMaintenanceAction.ROLE,
232 AdminMaintenanceAction.ROLE + VIEW,
233 AdminSereqAction.ROLE,
234 AdminSereqAction.ROLE + VIEW,
235 AdminDashboardAction.ROLE,
236 AdminDashboardAction.ROLE + VIEW,
237 AdminWizardAction.ROLE,
238 AdminWizardAction.ROLE + VIEW,
239 AdminGeneralAction.ROLE,
240 AdminGeneralAction.ROLE + VIEW,
241 AdminSchedulerAction.ROLE,
242 AdminSchedulerAction.ROLE + VIEW,
243 AdminDesignAction.ROLE,
244 AdminDesignAction.ROLE + VIEW,
245 AdminDictAction.ROLE,
246 AdminDictAction.ROLE + VIEW,
247 AdminAccesstokenAction.ROLE,
248 AdminAccesstokenAction.ROLE + VIEW,
249 AdminPluginAction.ROLE,
250 AdminPluginAction.ROLE + VIEW,
251 AdminStorageAction.ROLE,
252 AdminStorageAction.ROLE + VIEW,
253 AdminWebconfigAction.ROLE,
254 AdminWebconfigAction.ROLE + VIEW,
255 AdminFileconfigAction.ROLE,
256 AdminFileconfigAction.ROLE + VIEW,
257 AdminDataconfigAction.ROLE,
258 AdminDataconfigAction.ROLE + VIEW,
259 AdminLabeltypeAction.ROLE,
260 AdminLabeltypeAction.ROLE + VIEW,
261 AdminKeymatchAction.ROLE,
262 AdminKeymatchAction.ROLE + VIEW,
263 AdminBoostdocAction.ROLE,
264 AdminBoostdocAction.ROLE + VIEW,
265 AdminRelatedcontentAction.ROLE,
266 AdminRelatedcontentAction.ROLE + VIEW,
267 AdminRelatedqueryAction.ROLE,
268 AdminRelatedqueryAction.ROLE + VIEW,
269 AdminPathmapAction.ROLE,
270 AdminPathmapAction.ROLE + VIEW,
271 AdminWebauthAction.ROLE,
272 AdminWebauthAction.ROLE + VIEW,
273 AdminFileauthAction.ROLE,
274 AdminFileauthAction.ROLE + VIEW,
275 AdminReqheaderAction.ROLE,
276 AdminReqheaderAction.ROLE + VIEW,
277 AdminDuplicatehostAction.ROLE,
278 AdminDuplicatehostAction.ROLE + VIEW,
279 AdminUserAction.ROLE,
280 AdminUserAction.ROLE + VIEW,
281 AdminRoleAction.ROLE,
282 AdminRoleAction.ROLE + VIEW,
283 AdminGroupAction.ROLE,
284 AdminGroupAction.ROLE + VIEW,
285 AdminSuggestAction.ROLE,
286 AdminSuggestAction.ROLE + VIEW,
287 AdminElevatewordAction.ROLE,
288 AdminElevatewordAction.ROLE + VIEW,
289 AdminBadwordAction.ROLE,
290 AdminBadwordAction.ROLE + VIEW,
291 AdminSysteminfoAction.ROLE,
292 AdminSysteminfoAction.ROLE + VIEW,
293 AdminSearchlogAction.ROLE,
294 AdminSearchlogAction.ROLE + VIEW,
295 AdminJoblogAction.ROLE,
296 AdminJoblogAction.ROLE + VIEW,
297 AdminCrawlinginfoAction.ROLE,
298 AdminCrawlinginfoAction.ROLE + VIEW,
299 AdminLogAction.ROLE,
300 AdminLogAction.ROLE + VIEW,
301 AdminFailureurlAction.ROLE,
302 AdminFailureurlAction.ROLE + VIEW,
303 AdminBackupAction.ROLE,
304 AdminBackupAction.ROLE + VIEW,
305 AdminMaintenanceAction.ROLE,
306 AdminMaintenanceAction.ROLE + VIEW,
307 AdminSereqAction.ROLE,
308 AdminSereqAction.ROLE + VIEW,
309
310 })
311 public HtmlResponse index() {
312 return redirect(getUserBean().map(user -> {
313 final Class<? extends FessAdminAction> actionClass = getAdminActionClass(user);
314 if (actionClass != null) {
315 return actionClass;
316 }
317 return AdminDashboardAction.class;
318 }).orElse(AdminDashboardAction.class));
319 }
320
321
322
323
324
325
326 public static Class<? extends FessAdminAction> getAdminActionClass(final FessUserBean user) {
327 if (user.hasRoles(getActionRoles(AdminDashboardAction.ROLE))) {
328 return AdminDashboardAction.class;
329 }
330 if (user.hasRoles(getActionRoles(AdminWizardAction.ROLE))) {
331 return AdminWizardAction.class;
332 }
333 if (user.hasRoles(getActionRoles(AdminGeneralAction.ROLE))) {
334 return AdminGeneralAction.class;
335 }
336 if (user.hasRoles(getActionRoles(AdminSchedulerAction.ROLE))) {
337 return AdminSchedulerAction.class;
338 }
339 if (user.hasRoles(getActionRoles(AdminDesignAction.ROLE))) {
340 return AdminDesignAction.class;
341 }
342 if (user.hasRoles(getActionRoles(AdminDictAction.ROLE))) {
343 return AdminDictAction.class;
344 }
345 if (user.hasRoles(getActionRoles(AdminAccesstokenAction.ROLE))) {
346 return AdminAccesstokenAction.class;
347 }
348 if (user.hasRoles(getActionRoles(AdminPluginAction.ROLE))) {
349 return AdminPluginAction.class;
350 }
351 if (user.hasRoles(getActionRoles(AdminStorageAction.ROLE))) {
352 return AdminStorageAction.class;
353 }
354 if (user.hasRoles(getActionRoles(AdminWebconfigAction.ROLE))) {
355 return AdminWebconfigAction.class;
356 }
357 if (user.hasRoles(getActionRoles(AdminFileconfigAction.ROLE))) {
358 return AdminFileconfigAction.class;
359 }
360 if (user.hasRoles(getActionRoles(AdminDataconfigAction.ROLE))) {
361 return AdminDataconfigAction.class;
362 }
363 if (user.hasRoles(getActionRoles(AdminLabeltypeAction.ROLE))) {
364 return AdminLabeltypeAction.class;
365 }
366 if (user.hasRoles(getActionRoles(AdminKeymatchAction.ROLE))) {
367 return AdminKeymatchAction.class;
368 }
369 if (user.hasRoles(getActionRoles(AdminBoostdocAction.ROLE))) {
370 return AdminBoostdocAction.class;
371 }
372 if (user.hasRoles(getActionRoles(AdminRelatedcontentAction.ROLE))) {
373 return AdminRelatedcontentAction.class;
374 }
375 if (user.hasRoles(getActionRoles(AdminRelatedqueryAction.ROLE))) {
376 return AdminRelatedqueryAction.class;
377 }
378 if (user.hasRoles(getActionRoles(AdminPathmapAction.ROLE))) {
379 return AdminPathmapAction.class;
380 }
381 if (user.hasRoles(getActionRoles(AdminWebauthAction.ROLE))) {
382 return AdminWebauthAction.class;
383 }
384 if (user.hasRoles(getActionRoles(AdminFileauthAction.ROLE))) {
385 return AdminFileauthAction.class;
386 }
387 if (user.hasRoles(getActionRoles(AdminReqheaderAction.ROLE))) {
388 return AdminReqheaderAction.class;
389 }
390 if (user.hasRoles(getActionRoles(AdminDuplicatehostAction.ROLE))) {
391 return AdminDuplicatehostAction.class;
392 }
393 if (user.hasRoles(getActionRoles(AdminUserAction.ROLE))) {
394 return AdminUserAction.class;
395 }
396 if (user.hasRoles(getActionRoles(AdminRoleAction.ROLE))) {
397 return AdminRoleAction.class;
398 }
399 if (user.hasRoles(getActionRoles(AdminGroupAction.ROLE))) {
400 return AdminGroupAction.class;
401 }
402 if (user.hasRoles(getActionRoles(AdminSuggestAction.ROLE))) {
403 return AdminSuggestAction.class;
404 }
405 if (user.hasRoles(getActionRoles(AdminElevatewordAction.ROLE))) {
406 return AdminElevatewordAction.class;
407 }
408 if (user.hasRoles(getActionRoles(AdminBadwordAction.ROLE))) {
409 return AdminBadwordAction.class;
410 }
411 if (user.hasRoles(getActionRoles(AdminSysteminfoAction.ROLE))) {
412 return AdminSysteminfoAction.class;
413 }
414 if (user.hasRoles(getActionRoles(AdminSearchlogAction.ROLE))) {
415 return AdminSearchlogAction.class;
416 }
417 if (user.hasRoles(getActionRoles(AdminJoblogAction.ROLE))) {
418 return AdminJoblogAction.class;
419 }
420 if (user.hasRoles(getActionRoles(AdminCrawlinginfoAction.ROLE))) {
421 return AdminCrawlinginfoAction.class;
422 }
423 if (user.hasRoles(getActionRoles(AdminLogAction.ROLE))) {
424 return AdminLogAction.class;
425 }
426 if (user.hasRoles(getActionRoles(AdminFailureurlAction.ROLE))) {
427 return AdminFailureurlAction.class;
428 }
429 if (user.hasRoles(getActionRoles(AdminBackupAction.ROLE))) {
430 return AdminBackupAction.class;
431 }
432 if (user.hasRoles(getActionRoles(AdminMaintenanceAction.ROLE))) {
433 return AdminMaintenanceAction.class;
434 }
435 if (user.hasRoles(getActionRoles(AdminSereqAction.ROLE))) {
436 return AdminSereqAction.class;
437 }
438 return null;
439 }
440
441 private static String[] getActionRoles(final String role) {
442 return new String[] { role, role + VIEW };
443 }
444
445 }