gpt4 book ai didi

spring - 使用 Spring Security 以根据用户是否经过身份验证为同一 URL 显示不同的内容

转载 作者:行者123 更新时间:2023-12-01 18:47:06 25 4
gpt4 key购买 nike

我使用 Spring MVC、Spring Security 和 Apache Tiles,但遇到以下问题:

我希望未经身份验证的用户登陆我网站的主页 URL(即 www.mywebsite.com/),其中有一个登录表单将显示给他们,以便他们可以从那里进行身份验证。

然后,一旦用户通过身份验证,我希望在网站的主页 URL 上向他们显示完全不同的页面内容(仍然是 www.mywebsite.com/) 可能使用另一个模板/jsp。

我想要实现的基本上是能够根据用户是否经过身份验证为同一 URL 显示不同的内容 - 所有这些都使用 Spring 安全性和 Spring MVC。 p>

我研究了 Spring Security,但未能找到解决上述问题的方法。其他人也遇到过类似的问题(参见:Spring security - same page to deliver different content based on user role)

任何人都可以提供有关如何实现它的指示或建议吗?

最佳答案

我能想到的一个解决方案是在您的 MVC Controller 中检查请求中的用户主体,如果经过身份验证/具有返回一个 ModelAndView 的角色,否则返回另一个:

@Controller
public class MyController{

public ModelAndView doSomething(HttpServletRequest request, HttpServletResponse response){
if(request.getUserPrincipal() != null && request.isUserInRole("someRole"){
return new ModelAndView("view1");
}
else {
return new ModelAndView("view2");
}
}

}

关于spring - 使用 Spring Security 以根据用户是否经过身份验证为同一 URL 显示不同的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12600425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com