「Java开发指南」如何用MyEclipse搭建Spring安全策略?

本教程将引导您向现有的Web应用程序添加Spring安全策略,在本教程中您将学习如何:

  • 搭建Spring安全策略
  • 部署应用程序

注意:搭建Spring需要MyEclipse Spring或Bling授权

MyEclipse v2023.1.2离线版下载(Q技术交流:742336981)

搭建Spring安全策略
  1. 创建一个 scaffolded CustomersApp项目。

  2. 右键单击CustomersApp,然后选择MyEclipse>Scaffold Spring Security。

Scaffolding Spring security

  1. 在引导页面上单击Next。

引导页面

  1. 选择用于引导的In Memory安全类型,然后单击Next。

虽然在构建应用程序高中很少使用内存安全策略,但在开发过程中使用它是一个很好的安全策略,因为它不需要与LDAP系统或数据库系统集成。内存中的安全策略是引入身份验证和授权的最快方式,并且可以在稍后的时间(例如,在测试或构建期间)用更健壮的安全策略替换它。

选择安全类型

  1. 接受所选的Spring服务和DAOs,然后单击Next。

列出了项目中发现的Spring服务(@Service)和DAOs (@Repository),默认情况下,所有发现的Spring服务和DAOs在向导完成后都是安全的,但是您可以选择取消选择不需要保护的项目和/或更改服务的访问属性。

选择安全服务

  1. 接受默认的安全URLs,然后单击Next,您可以根据需要使用Add和Remove来添加和删除URL模式。

指定安全策略URLs

  1. 接受默认的安全性视图,并单击Next。

Configured views

  1. 接受生成文件(源代码、配置文件、JSP等)的默认位置,并单击Next。默认情况下,Spring上下文文件被生成到*/resources* 文件夹,JSP页面被生成到*/webRoot*文件夹。

选择目标文件夹

  1. 在摘要页面上单击Finish。

Summary页面

注意:如果您想要使用Spring DSL,那么需要在搭建之前为项目启用Spring DSL支持。

预览搭建

如果您展开项目,会看到几个JSP页面被生成到WebRoot文件夹中。JSP页面包含可以自定义或重命名的自定义登录和注销实现,applicationContext.xml包含安全服务和URLs的列表。

生成搭建

部署应用程序
  1. 右键单击CustomersApp,并选择Run As>MyEclipse Server Application,选择MyEclipse Tomcat服务器。

部署应用程序

仪表板页面有一个Login按钮,用于主动登录到应用程序。但是应用程序已配置为在用户访问受保护的资源时自动将其引导到登录。

  1. 单击View Customers查看访问受保护资源时发生的情况。

Dashboard

  1. 使用admin作为用户名,admin作为密码登录。

由于View Customers页面使用受保护的Spring服务和DAO,因此将用户定向到Login页面。虽然Spring安全策略有一个默认的登录页面,但应用程序正在使用由搭建向导生成的自定义登录页面来匹配搭建的应用程序外观。

登录页面

因为您正在使用内存中的安全策略,所以用户帐户(包括用户名和密码)是在安全上下文文件(CustomersApp-security-context.xml)中配置的,您可以通过编辑上下文文件来更改帐户及其关联角色。

成功登录后,用户被重定向到他们试图访问的原始页面(受保护的资源)。注意header显示了一条欢迎消息,其中包含用户ID和一个Logout按钮。

Customer app

相关推荐
wdfk_prog11 小时前
嵌入式面试真题第 10 题:高优化等级下共享状态可见性、内存模型与系统级同步设计
java·linux·开发语言·面试·职场和发展·架构·c
卓怡学长11 小时前
w255基于springboot仓库管理系统
java·数据库·spring boot·spring·intellij-idea
这个DBA有点耶14 小时前
SQL调优进阶:从“优化一条SQL”到“优化一个系统”的思维升级
java·大数据·数据库·sql·程序人生·dba·改行学it
csdn2015_15 小时前
springboot读取配置的方法
java·spring boot·spring
AOwhisky15 小时前
下一代容器来了?Docker 宣布原生支持 WebAssembly
java·运维·docker·容器·rust·wasm
云云只是个程序马喽17 小时前
海外短剧平台搭建方案:私有化源码系统选型|云微短剧系统技术架构拆解
java·php
疏狂难除18 小时前
JetBrains IDE插件开发教程(五)——File Header
ide·kotlin
C137的本贾尼18 小时前
第七篇:消息队列(MQ)——就是个带存储的异步通信管道
java·开发语言·中间件
Flittly18 小时前
【AgentScope Java新手村系列】(19)多模态-图像音频视频
java·spring boot·spring
Javatutouhouduan18 小时前
国内大厂Java面试高频题库(2026突击版)
java·架构师·java面试·java面试题·后端开发·java程序员·java八股文