我目前正在开发一个应用程序,我可以在其中看到以下内容:
- 控制器 A : service.getSession(userId, Status.Started);
- 控制器 B:service.getSession(userId, Status.Done);
(其中 Status 表示可能状态的枚举)
- 服务:getSession(Long id, Status status);
我觉得不对,因为要访问控制器 A 的用户具有某些角色,而用户访问 B 其他人,应该有 2 种服务方法:
- getSessionReady(长 id);
- getSessionClosed(长 id);
这样做我可以清楚地使用 Spring 安全性并确保正确的角色访问正确的服务方法。它让我创建了两种方法,但它更容易保护应用程序,服务层的目标实际上是限制访问以限制逻辑错误,对吗?