Status:
等待有关dao、服务、控制器、视图的代码示例的全面答案。
使用 spring 3 + hibernate 4,在服务、dao、控制器、视图(mvc 场景)中,例如http://www.cavalr.com/blog/Spring_3_and_Annotation_Based_Hibernate_4_Example,在做某事之前进行身份验证的好地方是哪里。例如
场合:
- 用户是否登录?(首先通过会话检查,然后通过数据库用户名密码匹配)
会话?获取每个事务的上一个会话,如果没有会话,则进行身份验证。
每个事务的更多身份验证,例如:从数据库中获取一些值或布尔值,检查其是否为真(例如,此用户可以添加更多用户),然后继续。
用户有权限吗?如果身份验证失败,如何响应用户?
应对方式:
一个。重定向到错误页面(虽然不喜欢那样)
湾。使用错误消息重定向到同一页面(确定)
C。使用 ajax 完成所有操作,(最首选)不要重新加载或重定向页面,只需通过身份验证
会话和或
数据库
通过 ajax 在同一页面上发送错误消息。
如果认证成功则继续。
把逻辑放在哪里?在道,服务,控制器? 我有什么选择?
有人可以提供示例代码吗?我用谷歌搜索但发现了不相关的例子。我知道一种解决方案是弹簧安全,但你怎么看?是否有涵盖我所有问题的示例代码?
示例场景:
我的场景是这样的。一个用户来了,一个数据库查询 tels/列出了他可以访问的 borads。当他进入董事会时。框权限是列表,只有可读框显示给他。然后与任务相同。他们每个人都有创建/读取/更新/删除权限,并且在用户执行操作时已知/获取。例如尝试创建/读取/更新/删除板/框/任务。
现在有数百万个盒子/任务。每个人的加载权限可能很疯狂?
我不明白如何以及在哪里进行身份验证和授权。daos、服务、控制器,然后将问题作为错误消息发送到视图。一个 dao 可能调用另一个,一个服务可能调用另一个 dao(s) 和/或服务。all 或 most 可能会导致授权失败。如何传递失败字符串以查看相应地放置它们?
谢谢!