java中根据角色登陆,如何使用Spring Security获取用户在我的控制器中登录的角色...

在尝试使用Spring Security实现授权和身份验证时,博主遇到了问题,即如何在控制器中获取用户登录时选择的角色。当前,他们只能获取到用户的所有角色列表,但希望根据用户选择的角色进行重定向。博客探讨了当用户有多个角色时,如何在登录后让用户选择角色,并基于所选角色重定向到相应页面。博主寻求解决方案,可能是改进Spring Security配置或在控制器中实现更复杂的逻辑。
摘要由CSDN通过智能技术生成

我正在尝试实现

Spring安全功能以进行授权和身份验证.我正面临一些有关用户角色的问题.我希望在我的控制器中检查用户登录的角色,以便根据角色将用户重定向到相应的页面(因为用户可以有多个角色).但是,我没有在我的

Java控制器中获得登录角色.

登录jsp页面

method="POST" name='loginForm'>

User Name:
Password:
Role:

Select Roll

Role 1

Role 2

Role 3

 

控制器代码:

@RequestMapping(value="/home", method = RequestMethod.GET)

public ModelAndView printWelcome(ModelMap model, Principal principal ) throws SQLException {

ModelAndView mav = new ModelAndView();

try{

Authentication auth = SecurityContextHolder.getContext().getAuthentication();

String n= auth.getName();

String r= auth.getAuthorities().toString();

System.out.println("the value of username is "+n);

System.out.println("the value of role is "+r);

returning result

}

}

在这里,我得到了哪个用户已登录,并且我正在检索他们的角色,如我的spring-security.xml文件中所定义的那样 – 例如[role1,role2].这不会检索用户登录的角色.通过用户使用我登录的用户名,然后从数据库中获取角色并重定向到相应的页面.如果用户只有一个角色,它可以正常工作,但如果他们有多个角色,那么我不清楚我将如何重定向它们.所以,我认为一旦登录用户就可以选择角色,在此基础上我会重定向.

弹簧security.xml文件

每个角色都有不同的视图页面,所以如果我使用user1登录并从下拉列表中选择role2,我将如何在我的控制器中获取此角色2,以便我可以将user1重定向到相应的jsp页面?

如果有更好的方法来实现这一点,请告诉我.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值