`
hehch
  • 浏览: 40922 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Spring Security3 页面 权限标签

 
阅读更多

 

应用标签库:<%@ taglib prefix='security' uri='http://www.springframework.org/security/tags' %>


<security:authorize>是一个流程控制标签,能够在满足特定安全需求的条件下显示它的内容体。它有三个互斥的参数:

ifAllGranted——是一个由逗号分隔的权限列表,用户必须拥有所有列出的权限时显示;

ifAnyGranted——是一个由逗号分隔的权限列表,用户必须至少拥有其中的一个权限时才能显示;

ifNotGranted——是一个由逗号分隔的权限列表,用户未拥有所有列出的权限时才能显示。

<security:authentication>获得属性的值比如要获得用户名可以这么写:
<security:authentication property="principal.username"></security:authentication>
他有三个属性,property是必须的,另外scope和var,var定义一个变量,scope定义var存在的范围
例子:
有时需要在页面显示用户名,或者根据用户角色显示或者不显示一些内容。这需要使用到spring security提供的标签库。

在页面中引入标签库:

 

<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>

使用标签库的示例:

<sec:authentication property="principal" var="authentication"/> <sec:authorize ifAllGranted="ROLE_USER">可以访问</sec:authorize> 用户名:${authentication.username }<br />
前台 ROLE_ANONYMOUS表示匿名用户
在配置文件中可以设置页面进入的权限
<intercept-url pattern="/Homepage.*" access="ROLE_ADMIN,IS_AUTHENTICATED_ANONYMOUSLY"/>
IS_AUTHENTICATED_ANONYMOUSLY允许匿名用户进入
IS_AUTHENTICATED_FULLY 允许登录用户进入
IS_AUTHENTICATED_REMEMBERED 允许登录用户和rememberMe用户进入
IS_AUTHENTICATED_FULLY:是则满足以下情况返回通过:
**.既不是RememberMeAuthentication也不是AnonymousAuthenticationToken的实例
IS_AUTHENTICATED_REMEMBERED:是则满足以下任一情况返回通过:
a*.Authentication是RememberMeAuthenticationToken的实例
b*.既不是RememberMeAuthentication也不是AnonymousAuthenticationToken的实例
IS_AUTHENTICATED_ANONYMOUSLY:是则满足以下任一情况返回通过:
a*.Authentication是AnonymousAuthenticationToken的实例
b*.既不是RememberMeAuthentication也不是AnonymousAuthenticationToken的实例
c*.Authentication是RememberMeAuthenticationToken的实例

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/superhanliu/archive/2007/08/16/1746054.aspx
分享到:
评论
6 楼 daichangfu 2012-11-27  
5 楼 leon.s.kennedy 2012-04-27  
hehch 写道
leon.s.kennedy 写道
hehch 写道
leon.s.kennedy 写道
博主您好
请问<sec:authorize ifAllGranted="ROLE_USER">可以访问</sec:authorize>
其中角色ROLE_USER 是写死的(硬编码)
系统角色是可以维护的,请问该如何实现?

以前想过,spring提供的好像不行的,写自定义标签试试


博主试过吗?请问自定义要如何实现呢?能给个思路吗?谢谢
ss3标签源码看了一点,不过没看懂
求指点。。

1,写jsp自定义标签,标签体里是填写需要控制的根据当前用户权限是否显示的内容(对应的就是一个url)
2,写相应的tld文件和标签类
3,标签类控制:
   1)获取当前用户角色拥有的资源
   2)获取标签体中需要控制的url
   3)匹配,有则说明有权限,显示内容;无则说明无权限,屏蔽内容


谢谢。
这算不算是ss3.0的一个BUG呢
不知3.1修复了没有
4 楼 hehch 2012-04-27  
leon.s.kennedy 写道
hehch 写道
leon.s.kennedy 写道
博主您好
请问<sec:authorize ifAllGranted="ROLE_USER">可以访问</sec:authorize>
其中角色ROLE_USER 是写死的(硬编码)
系统角色是可以维护的,请问该如何实现?

以前想过,spring提供的好像不行的,写自定义标签试试


博主试过吗?请问自定义要如何实现呢?能给个思路吗?谢谢
ss3标签源码看了一点,不过没看懂
求指点。。

1,写jsp自定义标签,标签体里是填写需要控制的根据当前用户权限是否显示的内容(对应的就是一个url)
2,写相应的tld文件和标签类
3,标签类控制:
   1)获取当前用户角色拥有的资源
   2)获取标签体中需要控制的url
   3)匹配,有则说明有权限,显示内容;无则说明无权限,屏蔽内容
3 楼 leon.s.kennedy 2012-04-27  
hehch 写道
leon.s.kennedy 写道
博主您好
请问<sec:authorize ifAllGranted="ROLE_USER">可以访问</sec:authorize>
其中角色ROLE_USER 是写死的(硬编码)
系统角色是可以维护的,请问该如何实现?

以前想过,spring提供的好像不行的,写自定义标签试试


博主试过吗?请问自定义要如何实现呢?能给个思路吗?谢谢
ss3标签源码看了一点,不过没看懂
求指点。。
2 楼 hehch 2012-04-26  
leon.s.kennedy 写道
博主您好
请问<sec:authorize ifAllGranted="ROLE_USER">可以访问</sec:authorize>
其中角色ROLE_USER 是写死的(硬编码)
系统角色是可以维护的,请问该如何实现?

以前想过,spring提供的好像不行的,写自定义标签试试
1 楼 leon.s.kennedy 2012-04-26  
博主您好
请问<sec:authorize ifAllGranted="ROLE_USER">可以访问</sec:authorize>
其中角色ROLE_USER 是写死的(硬编码)
系统角色是可以维护的,请问该如何实现?

相关推荐

    spring security 3 多页面登录 小秘密小运气

    在"Spring Security 3 多页面登录 小秘密小运气"这个主题中,我们可以深入探讨Spring Security 3如何支持多个登录页面以及其中可能涉及的一些技巧和策略。 首先,Spring Security的核心功能包括身份验证、授权、...

    spring boot +spring security+thymeleaf实现权限

    在本文中,我们将深入探讨如何使用Spring Boot、Spring Security和Thymeleaf这三个强大的Java技术栈组件来实现一个全面的权限管理系统,同时涵盖Remember-Me功能。Spring Boot简化了Spring应用的开发,Spring ...

    Spring Security 资料合集

    - **XML配置**:Spring Security 原本支持XML配置,开发者可以在`security:http`标签下配置安全行为,如设置访问限制、登录页面等。 - **Java配置**:随着Spring Boot的发展,Spring Security也提供了Java配置方式...

    spring-security多登录页面配置

    ### Spring Security 多登录页面配置详解 在许多大型企业级应用中,为了更好地实现权限管理和用户体验,往往会采用多个登录页面的方式来进行用户身份验证。这种方式能够有效地将不同类型的用户(如前台用户、后台...

    SpringBoot集成Spring Security实现权限控制【完整源码+数据库】

    SpringBoot集成Spring Security是现代Java应用中常见的安全框架组合,它们为开发者提供了强大的权限管理和访问控制功能。Spring Security是一个全面的、高度可配置的安全框架,它涵盖了认证、授权以及会话管理等多个...

    spring security3 开发手册

    Spring Security 3作为该框架的一个版本,提供了丰富的安全性配置选项,涵盖了从基础的认证和授权到复杂的单点登录和方法保护等各个方面。 ### 基础篇 #### Hello World示例 Spring Security的入门通常以一个简单...

    Spring Security 安全权限管理手册.pdf

    ### Spring Security 安全权限管理手册知识点概览 #### 一、基础篇 **1. 一个简单的Hello World** - **1.1 配置过滤器** - 介绍如何在Spring Security中配置基本的过滤器,以实现对HTTP请求的基本拦截与控制。 - ...

    spring security 安全权限管理手册

    当用户试图访问其没有权限的资源时,Spring Security 可以显示一个自定义的页面,而不是默认的错误消息。 --- ##### 第8章:动态管理资源结合自定义登录页面 当资源和用户的权限需要实时更新时,可以结合自定义的...

    Spring Security3

    3. **在 web 页面中获取用户身份**:使用 Spring Security 提供的标签或 API 获取当前用户的认证信息。 4. **自定义配置**:如自定义登录页面、错误页面等。 5. **本地化消息输出**:通过配置文件实现不同语言的错误...

    Spring Security权限管理开发手册

    - **配置taglib:** 配置Spring Security的标签库以方便在JSP页面中使用安全相关的标签。 - **标签介绍:** - **authentication:** 显示当前用户的认证信息。 - **authorize:** 控制页面元素的可见性,根据...

    SpringSecurity 3配置文件

    首先,Spring Security的配置通常位于一个或多个XML文件中,这些文件通过`&lt;beans&gt;`标签定义了安全相关的bean。这些bean是Spring Security框架的核心组件,它们负责处理用户认证、授权、会话管理等安全任务。在Spring...

    spring-security3入门教程

    本入门教程将带你深入了解 Spring Security 3 的核心概念、配置以及实际应用。 1. **核心概念** - **身份验证**:Spring Security 提供了多种方式来验证用户身份,如用户名/密码登录、LDAP 集成、OAuth2 认证等。...

    spring security3配置和使用实例+教程

    教程文档`教你使用_SpringSecurity_3.0_52页.pdf`会详细指导你如何一步步配置和使用Spring Security。它应该包含了配置文件的示例、如何集成到Spring应用中、如何创建自定义认证逻辑以及如何进行授权设置等内容。...

    spring-boot spring-security-oauth2 完整demo

    《Spring Boot、Spring Security与OAuth2的完整示例解析》 在现代Web开发中,安全性是不可忽视的重要一环。Spring Boot、Spring Security和OAuth2是Java生态系统中用于构建安全Web应用的三大利器。本篇文章将围绕...

    Spring Security使用手册

    本使用手册详细介绍了Spring Security的配置和使用方法,包括使用命名空间配置的方式,实现用户权限的管理,自定义登陆页面,以及一些高级功能,如单点登录、防御会话伪造等。 在配置方面,Spring Security支持传统...

    Spring_Security_3权限管理

    3. **Spring Security授权特点** - 支持多种仲裁方式,如Role-Based Access Control (RBAC)、Access Decision Managers等。 - 可扩展的组件结构,允许自定义访问决策器和权限评估。 - 支持对Web页面、方法以及...

    Spring集成SpringSecurity依赖包

    标题中提到的"Spring集成SpringSecurity依赖包"应该包含了这些必要的依赖,包括Spring Security本身和可能的Spring MVC依赖。 2. **配置Spring Security**:创建一个配置类,继承自`WebSecurityConfigurerAdapter`...

    springsecurity所有jar包

    5. **spring-security-taglibs**:包含Spring Security的JSTL标签库,如`sec:authorize`,使得在JSP页面上实现安全控制变得简单。 6. **spring-security-ldap**:这个模块支持与LDAP(轻量级目录访问协议)服务器...

    Spring Security3.1实例

    3. **角色与权限**:Spring Security 支持角色和权限的概念。角色通常代表用户的职责,权限则是对特定操作的允许或禁止。在这个实例中,可能有如“USER”和“ADMIN”这样的角色,每个角色拥有不同的权限。admin.jsp...

Global site tag (gtag.js) - Google Analytics