我是Spring安保的新手。我在学习这个教程
http://www.mkyong.com/spring-security/spring-security-form-login-example/
一切正常,当我们请求欢迎页面时,它会重定向到登录表单,然后输入凭据后会显示欢迎page.The问题是,当我点击注销时,它会注销,但欢迎页面仍然可以访问,我们点击...@localhost /SpringSecurity2/welcome,它不要求登录。我想它与会话有关,但不知道如何解决这个问题。我还使用了delete-cookies="JSESSIONID",但它不起作用。
我只想当用户注销并再次点击欢迎url.he应该被定向到登录表单而不是欢迎页面,因为它需要身份验证。很快需要帮助,我的安全xml如下
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/security
http://www.springframework.org/schema/security/spring-security-3.0.3.xsd">
<http auto-config="true">
<intercept-url pattern="/welcome*" access="ROLE_USER" />
<form-login login-page="/login" default-target-url="/welcome"
authentication-failure-url="/loginfailed" />
<logout
logout-success-url="/logout" />
</http>
<authentication-manager>
<authentication-provider>
<user-service>
<user name="mkyong" password="123456" authorities="ROLE_USER" />
</user-service>
</authentication-provider>
</authentication-manager>
</beans:beans>
最好的方法是通过实现< code > javax . servlet . filter 类来编写< code>SessionFilter类,如下所示。
package com.filter;
public class SessionFilter implements Filter {
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain arg2) throws IOException, ServletException {
HttpServletRequest request = (HttpServletRequest) req;
HttpServletResponse response = (HttpServletResponse) res;
HttpSession session = request.getSession(false);
if(null == session){
response.sendRedirect("/login.html");
}
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
并在您的网络.xml文件中提及它,如下所示
<filter>
<filter-name>SessionFilter</filter-name>
<filter-class>com.filter.SessionFilter
</filter-class>
不要忘记使用下面的语句使你的会话在注销控制器中失效
request.getSession().invalidate();
希望这能解决你的问题
4.2.4注销处理 logout元素通过导航到特定URL添加了对注销的支持。默认的注销URL是/logout,但是您可以使用logout-url属性将其设置为其他内容。有关其他可用属性的更多信息可以在命名空间附录中找到。 但是,在遵循文档中的安全设置后,URL/logout不会显示注销页面。相反,它显示 Spring Framework 4.1.6 Spring Security 4.0.0 we
1.1 安装 faygo 1.1.1 安装要求 Go Version ≥1.8 1.1.2 安装 方式一 源码下载 go get -u -v github.com/henrylee2cn/faygo 方式二 部署工具 (Go to fay) go get -u -v github.com/henrylee2cn/fay fay command [arguments] The com
问题内容: 在我的Web应用程序中,当我尝试注销时,它转到而不是给定的页面。在我的页面中,我添加了 问题是,当我使用spring security 3.1.4.RELEASE 版本时,此问题较早 起作用 。现在我正在使用 3.2.2.RELEASE 我也尝试了以下方法。没工作 spring-security.xml 提前致谢。 问题答案: 启用Spring Security CSRF保护后,必
我正在创建一个如下所示的JobDetail,
该站点的目标是成为 Jekyll 的全面指南。包括一些内容如:搭建和运行你的站点、创建以及管理内容、定制站点的展现和外观、在不同的环境中发布、以及参与到 Jekyll 将来的开发的一些建议。 Jekyll 究竟是什么? Jekyll 是一个简单的博客形态的静态站点生产机器。它有一个模版目录,其中包含原始文本格式的文档,通过一个转换器(如 Markdown)和我们的 Liquid 渲染器转化成一个完
欢迎来到 Libra 开发者站点! Libra 的使命是建立一套简单的全球货币和金融基础设施,为数十亿人服务。 The world truly needs a reliable digital currency and infrastructure that together can deliver on the promise of “the internet of money.” Securi