S2SH框架纯手写代码整合与数据库示例

需积分: 3 5 下载量 118 浏览量 更新于2024-07-30 收藏 159KB DOC 举报
S2SH整合是一种在Java应用程序中集成Spring Security和Shiro框架的技术,它旨在简化权限管理和会话管理,提高开发效率。在这个非注解版本的整合示例中,作者叶利芳(2011年10月29日)提供了在Eclipse环境中手动编写代码来实现S2SH框架的步骤。 首先,我们来看"一、建库"部分,这个阶段涉及数据库的创建和表结构设计。通过SQL语句,作者定义了一个名为`s3sj06`的数据库,并创建了一个名为`s3sj06`的表,包含`id`(主键,自动增长),`name`(姓名,最大长度20字符),和`sex`(性别,最大长度4字符)字段。接着,作者插入了一组示例数据,包括不同性别的学生姓名。 接下来,这部分内容主要关注的是如何将Spring Security和Shiro框架与数据库交互,以实现用户身份验证和授权。Spring Security负责处理用户的登录验证和角色管理,而Shiro则处理更细粒度的权限控制。在非注解方式下,开发者需要手动配置Spring Security的WebSecurityConfigurerAdapter,包括定义过滤器链、设置用户DetailsService来查找用户信息,以及处理访问控制规则。 Shiro的整合通常涉及以下几个关键步骤: 1. **安全过滤器的配置**:在Spring MVC的WebConfig中添加ShiroFilterFactoryBean,配置过滤器链,如`BasicHttpAuthenticationFilter`用于HTTP基本认证,`CachingAuthorizingRealm`用于用户认证和授权。 2. **用户和角色管理**:定义UserDetailsService接口的实现,存储用户的密码哈希值和角色信息,以便在验证时进行匹配。 3. **权限检查**:在Controller层或Service层,通过`Subject`对象获取当前用户权限,判断是否允许执行特定操作。 虽然这部分没有提供具体的代码,但读者可以根据这些指导原则,结合Spring Security和Shiro的官方文档,实现一个自定义的非注解整合方案。需要注意的是,随着Spring Security和Shiro的发展,现代项目推荐使用注解方式,因为它更简洁且易于维护。然而,对于学习底层机制或特定场景,非注解的方式仍有其价值。 这篇整合分析提供了S2SH框架在不使用注解的情况下如何与数据库交互和实现权限管理的基本思路,对于那些希望深入了解框架底层工作原理的开发者来说,是一个很好的学习材料。如果你在实际应用中遇到问题,可以随时联系作者叶利芳寻求进一步的帮助和指导。