`
hehch
  • 浏览: 40542 次
  • 性别: 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 Security 安全权限管理手册.pdf

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

    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的标签库。 - 在控制器逻辑中实现。 - **方法安全运行机制**:在方法调用前检查用户权限,决定是否允许执行该方法。 **业务层保护** - **实现机制**:通过Spring AOP拦截方法调用,检查用户...

    spring-security3入门教程

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

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

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

    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...

    Spring Security 3.x 入门教程 中文WORD版

    6. **CSRF防护**: 3.x版本中,Spring Security默认开启了跨站请求伪造(CSRF)防护,教程会解释如何配置和使用相关标签库。 7. **异常处理**: 明白如何处理安全相关的异常,如未授权(Unauthorized)和未认证(Not ...

Global site tag (gtag.js) - Google Analytics