5 changed files with 229 additions and 106 deletions
-
20src/main/java/a8k/app/config/WebConfig.java
-
1src/main/java/a8k/app/controler/api/v1/app/setting/DeviceSettingControler.java
-
27src/main/java/a8k/app/interceptor/RefreshAccessInterceptor.java
-
70src/main/java/a8k/app/service/data/AppUserMgrService.java
-
5src/main/java/a8k/app/service/setting/AppSettingsMgrService.java
@ -0,0 +1,20 @@ |
|||
package a8k.app.config; |
|||
|
|||
import a8k.app.interceptor.RefreshAccessInterceptor; |
|||
import org.springframework.context.annotation.Configuration; |
|||
import org.springframework.web.servlet.config.annotation.InterceptorRegistry; |
|||
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; |
|||
|
|||
@Configuration |
|||
public class WebConfig implements WebMvcConfigurer { |
|||
private final RefreshAccessInterceptor refreshInterceptor; |
|||
|
|||
public WebConfig(RefreshAccessInterceptor refreshInterceptor) { |
|||
this.refreshInterceptor = refreshInterceptor; |
|||
} |
|||
|
|||
@Override |
|||
public void addInterceptors(InterceptorRegistry registry) { |
|||
registry.addInterceptor(refreshInterceptor).addPathPatterns("/api/**"); |
|||
} |
|||
} |
@ -0,0 +1,27 @@ |
|||
package a8k.app.interceptor; |
|||
|
|||
import a8k.app.service.data.AppUserMgrService; |
|||
import jakarta.servlet.http.HttpServletRequest; |
|||
import jakarta.servlet.http.HttpServletResponse; |
|||
import org.jetbrains.annotations.NotNull; |
|||
import org.springframework.stereotype.Component; |
|||
import org.springframework.web.servlet.HandlerInterceptor; |
|||
|
|||
/** |
|||
* Interceptor that refreshes the last-access timestamp on each HTTP request. |
|||
*/ |
|||
@Component |
|||
public class RefreshAccessInterceptor implements HandlerInterceptor { |
|||
|
|||
private final AppUserMgrService userMgr; |
|||
|
|||
public RefreshAccessInterceptor(AppUserMgrService userMgr) { |
|||
this.userMgr = userMgr; |
|||
} |
|||
|
|||
@Override |
|||
public boolean preHandle(@NotNull HttpServletRequest request, @NotNull HttpServletResponse response, @NotNull Object handler) { |
|||
userMgr.recordAccess(); |
|||
return true; |
|||
} |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue