`
lion222
  • 浏览: 126379 次
  • 来自: ...
文章分类
社区版块
存档分类
最新评论

java Spring Security 总结二 2

阅读更多

    那么我们要扩展获得更多的用户信息,就要从这里下手了(数据库表这里不在列出来,可以参考项目的WebRoot/db目录下的schema.sql文件)。比如我们自己的数据库设计中是通过一个loginId和用户名来登录或者我们需要额外ID,EMAIL地址等信息,MySecurityJdbcDaoImpl实现如下:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> 1 protectedclass UsersByUsernameMapping extends MappingSqlQuery {
 2 
 3        protected UsersByUsernameMapping(DataSource ds) {
 4 
 5            super(ds, usersByUsernameQuery);
 6 
 7            declareParameter(new SqlParameter(Types.VARCHAR));
 8 
 9            compile();
10 
11        }
12 
13        protected Object mapRow(ResultSet rs, int rownum) throws SQLException {
14 
15            // TODO Auto-generated method stub
16 
17            String userName = rs.getString(1);
18 
19            String passWord = rs.getString(2);
20 
21            boolean enabled = rs.getBoolean(3);
22 
23            Integer userId = rs.getInt(4);
24 
25            String email = rs.getString(5);
26 
27        MyUserDetails user = new MyUser(userName, passWord, enabled, true
28                                                true,truenew GrantedAuthority[]{new 
29                                                GrantedAuthorityImpl("HOLDER")});
30 
31            user.setEmail(email);
32 
33            user.setUserId(userId);
34 
35            return user;
36 
37        }
38 
39 }

    如果你已经看过源代码,你会发现这里只是其中的一部分代码 ,具体的实现请看项目的MySecurityJdbcDaoImpl类实现,以及MyUserDetails和MyUser类,这里步在一一列出。

    如果使用Hibernate来操作数据库,你也可以从你的DAO中获取用户信息,最后你只要将存放了用户身份信息和权限信息的列表(List)返回给系统就可以。

    每当用户请求一个受保护的资源时,就会调用认证管理器以获取用户认证信息,但是如果我们的用户信息保存在数据库中,那么每次请求都从数据库中获取信息将会影响系统性能,那么将用户信息进行缓存就有必要了,下面就介绍如何在Spring Security中使用缓存。

分享到:
评论

相关推荐

    基于Java Spring Security的关注微信公众号即登录的设计与实现源码.zip

    基于Java Spring Security的关注微信公众号即登录的设计与实现源码.zip基于Java Spring Security的关注微信公众号即登录的设计与实现源码.zip基于Java Spring Security的关注微信公众号即登录的设计与实现源码.zip ...

    SpringSecurity学习总结源代码

    SpringSecurity是Java开发中用于构建安全Web应用的框架,它提供了强大的身份验证、授权和访问控制功能。在本文中,我们将深入探讨SpringSecurity的核心概念、关键组件以及如何配置和使用这个框架。 首先,Spring...

    Spring Security in Action

    Spring Security 是一个基于 Java 的安全框架,旨在提供身份验证、授权和访问控制等功能。下面是 Spring Security 的主要知识点: 一、身份验证(Authentication) 身份验证是指对用户身份的验证,以确保用户的...

    spring security 4.0.0所需jar包

    2. **spring-security-web**: - `spring-security-web-4.0.0.CI-SNAPSHOT-javadoc.jar`:Web安全相关的Java文档。 - `spring-security-web-4.0.0.CI-SNAPSHOT-sources.jar`:Web安全模块的源代码。 - `spring-...

    Spring Security 资料合集

    Spring Security 是一个强大的安全框架,主要用于Java应用的安全管理,它为Web应用和企业级应用提供了全面的安全服务。这个框架能够处理认证、授权以及各种安全相关的功能,帮助开发者构建安全、可扩展的应用。以下...

    最详细Spring Security学习资料(源码)

    Spring Security是一个功能强大且高度可定制的身份验证和授权框架,专门用于保护Java应用程序的安全性。它构建在Spring Framework基础之上,提供了全面的安全解决方案,包括身份验证、授权、攻击防护等功能。 Spring...

    spring-security-oauth2-2.3.5.RELEASE-API文档-中文版.zip

    标签:spring、security、springframework、oauth2、oauth、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代

    springsecurity学习笔记

    在"springsecurity学习笔记"中,你可能会涉及以下主题: - Spring Security的基本配置,包括web安全配置和全局安全配置。 - 如何自定义认证和授权流程,比如实现自定义的AuthenticationProvider和...

    SpringSecurity笔记,编程不良人笔记

    SpringSecurity是Java领域中一款强大的安全框架,主要用于Web应用程序的安全管理。它提供了全面的身份验证、授权、会话管理以及安全相关的功能,可以帮助开发者构建安全的Web应用。在本笔记中,我们将深入探讨Spring...

    SpringSecurity.pdf

    Spring Security之所以在Java社区中广泛流行,是因为它不仅提供了强大的安全特性,还具有高可定制性、良好的扩展性和兼容性,使得开发者可以根据具体需求选择合适的安全解决方案。而随着Web应用程序的安全要求越来越...

    spring security 完整项目实例

    Spring Security支持基于表单的身份验证,也支持OAuth2和其他现代认证协议。 免登录功能,即Remember-Me服务,允许用户在一段时间内无须反复登录。这通过RememberMeServices接口实现,通常使用Token-Based策略,将...

    Spring Security+OAuth2 精讲,打造企业级认证与授权

    Spring Security和OAuth2是两个非常关键的框架,它们分别处理身份验证(Authentication)和授权(Authorization)的问题。本课程"Spring Security+OAuth2 精讲,打造企业级认证与授权"深入浅出地讲解了这两个框架的...

    Spring Security学习总结一

    ### Spring Security 学习总结与应用实践 #### 引言 在深入了解Spring Security之前,我们需要认识到,传统的权限验证逻辑往往杂糅于业务逻辑之中,这种混合不仅使得代码难以维护,而且降低了系统的整体效率。每当...

    Spring Cloud Gateway 整合 Spring Security 统一登录认证鉴权

    而Spring Security 则是 Java 开发中广泛使用的安全框架,用于实现认证和授权。当我们将这两者结合时,我们可以创建一个强大的统一登录认证鉴权系统。 首先,让我们深入了解Spring Cloud Gateway。这是一个基于...

    Spring Security 学习总结1_3

    "springsecurity-namespace"可能指的是Spring Security的XML命名空间配置。在Spring Security的早期版本中,使用XML配置是最常见的实践。例如,你可能会看到以下片段: ```xml **" access="hasRole('ROLE_ADMIN')...

    spring security3.0所需要的最精简的jar包

    Spring Security 是一个强大的安全框架,主要用于Java应用的安全管理。它提供了认证、授权和访问控制功能,使得开发者可以轻松地在应用程序中实现复杂的安全需求。在3.0版本中,Spring Security 已经相当成熟,提供...

    java学习之SpringSecurity配置了登录链接无权限

    我们在使用SpringSecurity作为后台权限框架的时候,框架给我们提供了配置登录请求的接口,供我们配置登录链接,当我们配置了登录链接地址后,前端访问登陆请求的时候显示无权限。 异常分析 由于SpringSecurity的...

    spring security 官方文档

    Spring Security 是一个强大的安全框架,用于为Java应用提供全面的安全管理解决方案。它是Spring生态系统的组成部分,专注于身份验证、授权和访问控制。Spring Security的核心特性包括: 1. **身份验证...

    Spring Security3 安全 个人总结

    Spring Security3 是一个基于 Java 的安全框架,提供了一个灵活的安全机制来保护基于 Spring 的应用程序。在这个总结中,我们将详细介绍 Spring Security3 的安全机制、原理和核心组件。 认证管理器 认证管理器是...

Global site tag (gtag.js) - Google Analytics