`
jaesonchen
  • 浏览: 311561 次
  • 来自: ...
社区版块
存档分类
最新评论

spring security tags

 
阅读更多
//要使用security tags,必须在maven中加入tags的依赖
<dependency>
	<groupId>org.springframework.security</groupId>
	<artifactId>spring-security-taglibs</artifactId>
	<version>4.0.4.RELEASE</version>
</dependency>

 

spring security 4.x版本取消了ifAllGranted的语法:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
    
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
  
	Dear <strong>${user}</strong>, Welcome to Home Page.
	<a href="<c:url value="/logout" />">Logout</a>
  
	<form action="">
		
		<sec:authentication property="name"/>
		<br />
		<sec:authentication property="principal.username"/>
		<br />
		<!-- 需要注意的是因为access属性是使用表达式的,所以我们必须确保ApplicationContext中存在一个WebSecurityExpressionHandler,
			最简单的办法就是直接使用NameSpace,通过设置http元素的use-expressions="true"让NameSpace自动为我们创建一个WebSecurityExpressionHandler。 -->
  		<sec:authorize access="hasRole('ROLE_ADMIN')">
  			<a href="security/index.jsp">admin page</a>
  		</sec:authorize>
		<sec:authorize access="hasRole('ROLE_ADMIN') and hasRole('ROLE_USER')">
			<p>Must have ROLE_ADMIN and ROLE_USER</p>
		</sec:authorize>
		<sec:authorize access="hasAnyRole('ROLE_ADMIN','ROLE_USER')">
			<p>Must have ROLE_ADMIN or ROLE_USER</p>
		</sec:authorize>
		<sec:authorize access="!hasAnyRole('ROLE_ADMIN','ROLE_USER')">
			<p>Must not have ROLE_ADMIN or ROLE_USER</p>
		</sec:authorize>

		<sec:authorize url="/security/index.jsp">
			<a href="security/index.jsp">admin page</a>
		</sec:authorize>
  	</form>
	    
  </body>
</html>

 

 

分享到:
评论

相关推荐

    spring-security-taglibs:4.1.3.RELEASE

    spring-security-taglibs:4.1.3.RELEASE 应用标签库:&lt;%@ taglib prefix='security' uri='http://www.springframework.org/security/tags' %&gt;

    Spring Security Annotation tutorial

    xmlns:sec="http://www.springframework.org/security/facelets/tags"&gt; &lt;!-- 标签库中的元素 --&gt; ``` 其中 `sec` 命名空间引用了 Spring Security 的 Facelets 标签库。下面是一些常用的标签及其含义: - `...

    Spring security实现登陆和权限角色控制

    &lt;%@ taglib prefix="sf" uri="http://www.springframework.org/tags/form"%&gt; 登录 ${pageContext.request.contextPath}/log" method="POST" commandName="user"&gt; &lt;!-- spring表单标签,用于模型绑定和自动...

    angular-rest-springsecurity

    [ ]( REST SpringSecurity示例Donation&currency_code = EUR) 一个示例AngularJS应用程序,它使用基于Hibernate / JPA的Spring Security保护的Jersey REST后端。 关于 这些项目的目的是演示AngularJS应用程序...

    acegi-security-taglib-0.51.jar.zip

    &lt;%@ taglib prefix="acegi" uri="http://www.acegisecurity.org/tags" %&gt; ``` 这行代码引入了Acegi Security的标签库,并分配了"acegi"作为前缀,这样就可以在页面中使用如下的标签: ```jsp &lt;!-- 用户无权访问的...

    struts VS spring mvc

    - **无缝集成**:Spring MVC 与其他 Spring 模块紧密结合,可以轻松地与 Spring Security、Spring Data 等组件集成,构建复杂的应用程序。 #### Struts 与 Spring MVC 的对比 1. **灵活性**:Spring MVC 相比 ...

    Struts和Spring源代码包

    7. **Spring Security**:提供了全面的安全管理解决方案,包括认证、授权等功能。 结合这两个框架,开发者可以构建出强大的企业级应用。StrutsConsole-4.8可能是Struts的一个图形化管理工具,它可能帮助开发者更...

    rolesecuritywithtags_mvn.zip

    Spring Security提供了一套强大的访问控制机制,可以方便地集成到Spring MVC或Spring Boot应用中。它支持自定义认证和授权逻辑,以及基于注解的访问控制。 具体步骤可能包括: - 配置Spring Security,设置拦截器以...

    TestAppOps:AppOps 的测试存储库

    角度休息弹簧安全[ ]( REST Spring Security Example&language=&tags=github&category=software) [ ]( REST SpringSecurity 示例捐赠&currency_code=EUR) 一个示例 AngularJS 应用程序,它使用基于 Hibernate/JPA 的...

    springboot - 2.7.3版本 - (三)整合Swagger3

    import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController @Tag(name = ...

    jsp权限标签的使用(带数据库测试)

    &lt;%@ taglib prefix="sec" uri="http://www.springframework.org/security/tags"%&gt; ``` 2. **角色与权限**:在数据库层面,我们需要存储用户信息,包括他们的角色和权限。通常,我们会有一个用户表(如`users`),...

    Spring-doc-practice:Spring doc使用练习

    3. **使用Grouping和Tags** Spring doc允许我们通过`@Tag`注解对API进行分组和标记,这样在生成的文档中,API会被按照预设的标签清晰地展示出来,方便用户查找和理解。 4. **自动文档化Controller** 对于每一个...

    自定义标签应用

    1. `Spring`配置文件,展示了如何配置Spring Security进行权限控制,并定义自定义过滤器或拦截器进行权限检查。 2. JSP页面,使用自定义标签`&lt;secure-access&gt;`,并结合Spring Security的表达式语言(SpEL)进行权限...

    Java Web2.0架构开发与项目实战光盘全部源码

    8. **安全控制**:Spring Security是处理Web应用安全的组件,提供身份验证、授权和访问控制功能。 9. **前端技术**:HTML5、CSS3和JavaScript是构建Web界面的基础,配合Bootstrap或AngularJS等现代前端框架,可以...

    SpringMVC+jsp之表单验证登录

    此外,还可以引入Spring Security来增强认证和授权功能,实现更复杂的用户管理和权限控制。 通过这个例子,我们可以了解到SpringMVC和JSP在构建Web应用时的强大组合,它们提供了高效、灵活且易于维护的解决方案。在...

    xdoclet_appfuse打包

    总的来说,这个压缩包提供了丰富的资料,适合初学者和有经验的开发者去深入理解和使用AppFuse和XDoclet,同时也涵盖了SpringSide、SiteMesh、Acegi Security(Spring Security)和Log4j等其他相关技术,对于构建和...

    基于springboot-blogs个人技术博客管理系统

    至于用户认证与授权,SpringBoot-Blogs很可能采用了Spring Security,这是一个强大的安全框架,可以轻松实现登录注册、权限控制等功能。通过OAuth2或JWT(JSON Web Tokens)进行身份验证,确保用户数据的安全。 在...

    springboot 分布式系统swagger文档.zip

    Swagger可以与Spring Security集成,通过`@SecurityRequirement`注解来指定API的安全需求,例如OAuth2认证。 8. **分组API**:使用`@Api`注解的`tags`属性,可以将相关的API分组,便于管理和查看。 9. **API响应...

    javaweb项目源码物资管理系统项目源码物资管理系统项目源码.zip

    若项目使用了Spring MVC或Struts2等框架,那么视图层可能会包含一些特定的标签库,如Spring Tags或Struts Tags。 除此之外,项目可能还涉及权限管理、登录验证、异常处理、日志记录等模块,这些都是企业级应用中...

Global site tag (gtag.js) - Google Analytics