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
-
74src/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