1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package fr.paris.lutece.plugins.mylutece.service.security;
35
36 import fr.paris.lutece.portal.business.user.AdminUser;
37 import fr.paris.lutece.portal.service.datastore.DatastoreService;
38 import fr.paris.lutece.portal.service.security.SecurityService;
39 import fr.paris.lutece.portal.service.util.AppPathService;
40 import fr.paris.lutece.util.ReferenceItem;
41 import fr.paris.lutece.util.ReferenceList;
42
43 import java.util.ArrayList;
44 import java.util.HashMap;
45 import java.util.List;
46 import java.util.Map;
47
48 import javax.servlet.http.HttpServletRequest;
49
50
51
52
53 public final class AuthenticationFilterService
54 {
55
56
57
58 public static final String MARK_PUBLIC_LIST_URL = "public_list_url";
59 public static final String PUBLIC_URL_PREFIX = "mylutece.security.public_url.";
60 public static final String MARK_PORTAL_AUTHENTICATION_REQUIRED = "portal_authentication_required";
61 private static final String MARK_LOCALE = "locale";
62 private static final String MARK_WEBAPP_URL = "webapp_url";
63 private static AuthenticationFilterServiceurity/AuthenticationFilterService.html#AuthenticationFilterService">AuthenticationFilterService _singleton = new AuthenticationFilterService( );
64
65
66
67
68 private AuthenticationFilterService( )
69 {
70 }
71
72
73
74
75
76
77 public static AuthenticationFilterService getInstance( )
78 {
79 return _singleton;
80 }
81
82
83
84
85
86
87
88
89
90
91 public Map<String, Object> getManageAdvancedParameters( AdminUser user, HttpServletRequest request )
92 {
93 Map<String, Object> model = new HashMap<String, Object>( );
94 ReferenceList refListUrlPublic = DatastoreService.getDataByPrefix( PUBLIC_URL_PREFIX );
95
96 for ( ReferenceItem refUrl : refListUrlPublic )
97 {
98 refUrl.setCode( refUrl.getCode( ).replace( PUBLIC_URL_PREFIX, "" ) );
99 }
100
101 model.put( MARK_PORTAL_AUTHENTICATION_REQUIRED, SecurityService.getInstance( ).isPortalAuthenticationRequired( ) );
102 model.put( MARK_PUBLIC_LIST_URL, refListUrlPublic );
103 model.put( MARK_LOCALE, user.getLocale( ) );
104 model.put( MARK_WEBAPP_URL, AppPathService.getBaseUrl( request ) );
105
106 return model;
107 }
108
109
110
111
112
113
114 public List<String> getPublicUrls( )
115 {
116 ArrayList<String> lstPublicUrl = new ArrayList<String>( );
117 ReferenceList referenceListPublicUrl = DatastoreService.getDataByPrefix( PUBLIC_URL_PREFIX );
118
119 if ( ( referenceListPublicUrl != null ) && !referenceListPublicUrl.isEmpty( ) )
120 {
121 for ( ReferenceItem item : referenceListPublicUrl )
122 {
123 lstPublicUrl.add( item.getName( ) );
124 }
125 }
126
127 return lstPublicUrl;
128 }
129 }