出于安全原因,我已经集成了我的Spring MVC应用程序Shiro。
我的所有网址都运行良好,但我有几个html网页可以直接访问。
如何保护这些页面,这意味着如果用户未登录到应用程序,并尝试打开html页面,则应将其重定向到登录页面。
我已在jetty和tomcat服务器上测试过。
码头
http://ip:port - works fine, redirects to login page
http://ip:port/html/ - opens html pages
Tomcat的
http://localhost:8070/my-app/html/myPage.html - opens html pages
基本上我不希望在没有用户登录的情况下直接访问我的静态内容。
我的html文件与角度代码集成在一起。是否有任何类型的servlet可以从中创建和返回html。意思是我将从其他特定位置读取html,解析并返回html作为响应。
html文件位置 - my-app\html\myPage.html
web.xml
filter>
<filter-name>shiroFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy
</filter-class>
<init-param>
<param-name>targetFilterLifecycle</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>shiroFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
当我建立战争时,它还复制图像,web-inf外的html文件夹。 如何避免使用maven
复制图像,web-inf外的html文件夹答案 0 :(得分:0)
您可以通过将其放在WEB-INF文件夹中来避免直接访问页面。
答案 1 :(得分:0)
在shiro ini尝试
<filter>
<filter-name>ShiroFilter</filter-name>
<filter-class>org.apache.shiro.web.servlet.IniShiroFilter</filter-class>
<init-param><param-name>config</param-name><param-value>
# INI Config Here
[url]
/*.html = authc
</param-value></init-param>
</filter>
以下您可以使用但仍然建议使用shiro.ini,因为您永远不知道应用程序何时增长,并且从web.xml执行此操作将无法管理。它也使web.xml变胖,这是非弹簧。您显示的配置仅适用于shiro设置,不适用于保护网址。要保护URL,您必须以编程方式或从web.xml
创建它们CNContactPickerViewController