上一篇,我们讲述的spring security的基础使用。但是对于一些复杂权限场景,我们需要更高级一些的功能。
我们接着往下展示它的高级部分。
<security:authentication-manager>的内部高级设置
在上一篇的Spring security设置示例中,我设置了authentication-manager来检查登录用户凭证,并使用<user-service>标签中定义的纯文本用户。如下所示,您可以在此处为您的应用程序定义多个用户。
上面的方式,是简单的校验。对于更复杂的,比如要对数据库中的Users表进行身份验证,则可以使用<security:jdbc-user-service>替换<security:user-service> ... </ security:user-service>标记。如下。
在这里,您执行SQL查询以从数据库中的“users”表中获取用户名和密码。
类似地,用户名的授权权限也从“user_roles”数据库表中获取。
在这里您可以注意到我在“data-source-ref”属性中提到了数据源引用。这是“dataSource”。
因此,您需要在应用程序Contex