繁体   English   中英

Spring安全性用于身份验证,在其中扮演角色吗?

[英]Spring security for authentication, part of role in it?

我在Spring-MVC应用程序中使用Spring安全框架。 我必须使用弹簧安全性检查数据库中的用户名和密码是否匹配。 我在多个站点上发现了角色的用法。 我的程序或数据库中没有这样的属性角色。 我可以排除这种情况吗?还是在使用Spring-Security时必须使用角色? 我正在发布一些代码。 请看看。

<authentication-provider>
    <jdbc-user-service data-source-ref="dataSource" users-by-username-query="select username,password from users where username=?" authorities-by-username-query="select u.username, r.authority from users u, roles r where u.userid = r.userid and u.username =?" />
</authentication-provider>

LoginController:

@Controller
@PreAuthorize("hasRole('ROLE_USER')")
public class LoginController {
 @RequestMapping(value = "/login", method = RequestMethod.GET)
    public String login(){
        return "login";
    }
}

用户类别:

@Entity
@Table(name="registration")
public class User {
private String Username;
private String password;
}

在所有这一切中角色扮演在哪里。 PS:我根据一个示例添加了预授权。 谢谢。

这确实取决于您的要求。

首先,您基本上是在说完全只有登录角色“ ROLE_USER”的授权用户才能请求该端点,从而完全破坏了登录端点的目的。

您可以排除角色,但是角色的全部基础是允许/禁止对该授权用户进行某些操作。

IE:普通用户不应删除其他用户。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM