Spring mvc 引导模式作为spring security的登录页面
在我的web应用程序中,当单击标题中的登录图标时,我会将登录/注册部分作为引导模式显示。我试图在spring security中配置此功能,但我发现我必须在config方法中返回一个页面:Spring mvc 引导模式作为spring security的登录页面,spring-mvc,login,spring-security,modal-dialog,thymeleaf,Spring Mvc,Login,Spring Security,Modal Dialog,Thymeleaf,在我的web应用程序中,当单击标题中的登录图标时,我会将登录/注册部分作为引导模式显示。我试图在spring security中配置此功能,但我发现我必须在config方法中返回一个页面: @Override protected void configure(HttpSecurity http) throws Exception { http .formLogin().loginPage("/login") .and() ... } 我的
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.formLogin().loginPage("/login")
.and()
...
}
我的问题是如何正确地实现登录页面而不是完整的html页面的模式。我将SpringMVC4与SpringSecurity4和thymeleaf一起使用
在html页面的“我的标题”中:
<div class="col-xs-7 col-sm-4">
<div class="top-social-last top-dark pull-right"
data-toggle="tooltip" data-placement="bottom"
title="Login/Register">
<a class="top-icon-circle" href="#login-modal"
data-toggle="modal">
<i class="fa fa-lock"></i>
</a>
</div>
<!-- social icons -->
</div>
这个头和模态实现作为一个片段共享,该片段包含在所有页面中(模态的代码很长,所以我没有复制到这里)
现在有一些请求需要登录,所以我必须在安全配置中添加一个登录页面,这些请求应该被重定向到该页面,但我没有页面,我只有一个在所有页面之间作为片段共享的模式。我认为我做得不对,所以如果有人能告诉我如何在SpringSecurity中使用modals
例如,在airbnb站点中,如果您希望喜欢广告而不登录,则会弹出一个模式,而不是重定向到页面。您必须在引导中创建登录模式,并在有人单击登录按钮时显示该模式。您的登录模式应该在
标记中包含标准登录表单。单击“提交”按钮后,表单应将用户重定向到
th:action=“@{/j_-spring\u-security\u-check}”
仅此而已 1.您需要一个spring安全登录的自定义实现FilterChainProxy,并且您必须在每个页面中放置此模式,我会将其放置在页脚部分或页眉部分,因为您已经在片段中放置了此模式
2.当访问安全url时,检查主体会话(如果此请求不在会话中),如果是ajax请求,则可以返回错误代码。如果不是ajax请求,则需要过滤器并重定向到页面,然后将其发送到身份验证管理器,您可以在页面加载时显示模式
你需要的是一个预授权过滤器来实现这一点。看看下面的链接你能告诉我们到目前为止你尝试了什么吗?你能发布一些关于你在实现它时面临的问题的代码吗?是的,这不是一个问题。。但是在SpringSecurity中,我想截获某些需要登录的请求,并将用户重定向到此模式。。但是安全配置需要一个页面,而不是模态。。那么我该怎么做呢(例如,在airbnb网站中,如果您想要一个广告而不是登录,则会弹出一个模式,而不是重定向到某个页面),以便在有人进入时打开模型,例如
http://domain.com/need-login-to-view
?不是重定向到登录页面,是吗?没错。。只是一个模式,而不是页面,所以您应该重定向到例如您的主页,并传入要显示模式的参数loginPage(“/?needLogin=1”)
并显示模式如果有参数needLogin=1
我可以重定向到当前页面吗?我不希望用户转到其他页面?在spring安全配置中是否可能?