场景简述:从本地向远程服务器写入文件后,点直接查看会自动跳到登录页!除非系统登录状态才能访问到。
思考分析:远程linux服务器是阿里云的,不能用ip+物理路径直接访问,因为阿里云做了很多安全拦截。只能通过服务器开放的端口号来访问,而端口号又被应用占用。所以就成了通过应用来访问服务器上的资源。 而应用是springboot+shrio框架,shrio做了访问路径拦截。虽然地址能请求到资源,但是被shiro拦截到后直接跳到登录页了。 所以shiro要放行请求地址
实现过程:
1.进入WebMvcConfig配置类中重写方法
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/virtualUploadPath/**") //加入了一个shiro拦截的key
.addResourceLocations(“file:/dophystatic/files/”); //是服务器上存放文件的外挂路径
}
2. 在ShiroConfig中加入 virtualUploadPath, anon代表放行
这样以后请求路径中含有/virtualUploadPath都能放行,不会再受/login的拦截。
场景简述:从本地向远程服务器写入文件后,点直接查看会自动跳到登录页!除非系统登录状态才能访问到。思考分析:远程linux服务器是阿里云的,不能用ip+物理路径直接访问,因为阿里云做了很多安全拦截。只能通过服务器开放的端口号来访问,而端口号又被应用占用。所以就成了通过应用来访问服务器上的资源。 而应用是springboot+shrio框架,shrio做了访问路径拦截。虽然地址能请求到资源,但是被s...
有些操作需要登录,有些操作不需要,
拦截
器默认
拦截
所有接口
定义不需要
拦截
注解
@Target(value = {ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface UnAuthRequest {
在自定义
拦截
器的preHandle方法里
if (handler instanceof HandlerMethod) {
Handle
<groupId>org.apache.
shiro
</groupId>
<artifactId>
shiro
-spring</artifactId>
<version>1.4.0</version>
</dependency>
2.编写配置类 自定义Realm
shiro
需要我们提供do
springboot
在启动时会读取jar包下的spring.factories
文件
中的EnableAutoConfiguration为键的数据,自动加载这些类,如下图示例。
但有时候,这些自动配置的类会读取一些默认配置,出现一些不影响正常使用,但令人不爽的警告。
com.netflix.config.sources.URLConfigurationSource - No URLs will be polled as dynamic configuration sources.
可以在启动类添加ex
项目场景:
项目使用的
springboot
+
shiro
,出于其他原因考量,静态
资源
是
直接
使用的
springboot
框架本身的ResourceHandlerRegistry来进行配置
访问
的,没有使用Nginx,Apache等
问题描述:
项目中的一些静态
资源
是通过配置ResourceHandlerRegistry来进行
访问
的,即通过复写WebMvcConfigurer,列如:
@Slf4j
@Configuration
public class WebConfig implements WebMvcCo
需要下载的
文件
,已经在
服务器
上面,
文件
结构为 **/download/report/**.txt
文件
保存的
文件
夹比较有规律
前端的下载按钮,绑定的是
文件
的URL
下载
文件
,其实是下载
服务器
上面的
文件
,看URL也能看出,那既然是URL,那就可以重写URL了。
主要是需要修改httpheader
response.addHeader("Content-Dispo..
### 回答1:
springboot
+vue+
shiro
是一种常见的Web
应用
程序开发架构,其中
springboot
作为后端框架,vue作为前端框架,
shiro
作为安全框架。使用这种架构可以快速开发出高效、安全的Web
应用
程序。其中,
springboot
提供了快速开发的能力,vue提供了现代化的前端交互体验,
shiro
提供了安全认证和授权的能力。这种架构已经被广泛
应用
于企业级Web
应用
程序的开发中。
### 回答2:
Spring Boot是一个开箱即用的框架,可用于快速开发基于Spring的Web
应用
程序,它简化了Spring
应用
程序的搭建和部署过程,可以帮助程序员避免一些开发中的繁琐细节。Vue.js是一个流行的JavaScript框架,可用于构建现代单页Web
应用
程序(SPA)。它提供了一个灵活和高效的数据绑定机制,优化了前端开发和用户体验。
Shiro
是一个Java的安全框架,提供了身份认证,授权,会话管理和加密等功能,可用于保护Web
应用
程序的安全性。
在一个现代Web
应用
程序中,身份验证和授权是非常重要的,Spring Boot结合
Shiro
可以帮助我们快速实现身份认证和授权功能,
Shiro
支持多种认证方式,包括基于表单的身份验证和基于JSON Web Token(JWT)认证。此外,
Shiro
还支持基于角色的授权和细粒度的
访问
控制。Spring Boot和Vue.js配合使用可以大大提高Web
应用
程序的交互性和响应性,Vue.js的虚拟DOM机制可以支持SPA的快速加载,减少页面切换延迟,用户可以实现无缝的操作。
另外,Spring Boot还可以支持异步编程和非阻塞I/O模型,在高并发场景下可以提高
应用
程序的性能和吞吐量。同时,Spring Boot还有丰富的插件生态系统,比如Mybatis和Hibernate等ORM框架,可以帮助程序员快速
访问
数据库。总的来说,Spring Boot结合Vue.js和
Shiro
可以大大提高
应用
程序的开发效率和可扩展性,同时保证Web
应用
程序的安全性和稳定性。
### 回答3:
SpringBoot
是一款让开发者更容易使用Spring框架的工具,它提供了很多开箱即用的特性和自动化配置,可以帮助我们更快速地搭建和构建Java Web
应用
。Vue.js是一款流行的JavaScript框架,可以帮助我们构建交互性强、效果美观的前端
应用
。而
Shiro
是一款开源的安全框架,可以为我们的
应用
提供身份验证、授权、会话管理、加密等能力。
SpringBoot
与Vue.js的结合可以让我们更快速地构建现代化的Web
应用
,其中前端页面使用Vue.js实现,后端服务则可以使用
SpringBoot
提供。在进行权限控制时,可以采用
Shiro
框架进行身份验证和权限控制,这能够让我们的
应用
更安全可靠。
Shiro
提供的安全过滤器可以根据请求路径,判断当前用户是否有
访问
权限,以及需要使用哪种授权方式。同时,
Shiro
还提供了很多默认的安全模块,如密码加密、会话管理等,这些模块可以为我们的
应用
提供更加全面的安全保护。
总体来说,
SpringBoot
、Vue.js和
Shiro
是一组非常强大的开发工具,通过它们的结合,我们可以更快速地构建高效、安全、现代化的Web
应用
。在实际开发中,我们可以充分挖掘这些工具的优势,同时也要时刻关注它们的发展和变化,以便更好地应对新的需求和挑战。
[Err] 1267 - Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICI
20616
[Err] 1267 - Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICI
羽衣卿相是也: