Bla*_*man 2 java spring servlets spring-mvc
在我的authenticationService的登录方法中,我需要创建一个cookie并在cookie中设置会话ID.
将请求对象传递给控制器操作中的服务层是不好的做法吗?
public void login(String email, String password) {
User user = someService.validate(email, password);
if(user != null) {
// create session
// set cookie ????
}
}
Run Code Online (Sandbox Code Playgroud)
我的控制器操作将调用上面的登录方法,混淆我应该创建的位置并为我的cookie设置会话ID.
在服务层中使用它是有意义的,但是然后我的登录方法紧紧绑定到Web应用程序.
我这样做了吗?
是(对"不良做法"),不对(做"做对了").
服务层应该与任何与Web有关的东西完全分离.仅Web层应负责管理Web层工件,包括cookie.
这样即使不存在cookie(例如桌面或CLI应用程序),也可以使用该服务.它还允许在不考虑Web层的情况下测试服务,这是有道理的 - 服务并不关心如何进行身份验证,或者之后发生的事情 - 仅使用用户名和密码.
| 归档时间: |
|
| 查看次数: |
1642 次 |
| 最近记录: |