Java Spring安全性和自定义身份验证提供程序

Java Spring安全性和自定义身份验证提供程序,java,spring,spring-security,Java,Spring,Spring Security,我有一个自定义的AuthenticationProvider,它只返回authenticate方法的Authentication对象。我想做的是在用户登录时向其添加一个角色。这是为了演示的目的,所以我只想让用户输入用户名并让他们进来。我需要给他们分配管理员角色。当然,有几种方法可以实现这一点。 我比较喜欢的一种方式是按习惯这样做。唯一的方法是,它将返回的实例。在构建UserDetails时,可以添加任何需要的内容 因此,首先,您将在应用程序上下文配置文件中声明自定义的UserDetailsSer

我有一个自定义的
AuthenticationProvider
,它只返回
authenticate
方法的
Authentication
对象。我想做的是在用户登录时向其添加一个角色。这是为了演示的目的,所以我只想让用户输入用户名并让他们进来。我需要给他们分配管理员角色。

当然,有几种方法可以实现这一点。 我比较喜欢的一种方式是按习惯这样做。唯一的方法是,它将返回的实例。在构建
UserDetails
时,可以添加任何需要的内容

因此,首先,您将在应用程序上下文配置文件中声明自定义的
UserDetailsService

<bean id="myCustomUDS" class="com.myapp.AppUDS" />

<sec:authentication-manager alias="authenticationManager">
   <sec:authentication-provider user-service-ref="myCustomUDS">
   </sec:authentication-provider>
</sec:authentication-manager>

当然,有几种方法可以实现这一目标。 我比较喜欢的一种方式是按习惯这样做。唯一的方法是,它将返回的实例。在构建
UserDetails
时,可以添加任何需要的内容

因此,首先,您将在应用程序上下文配置文件中声明自定义的
UserDetailsService

<bean id="myCustomUDS" class="com.myapp.AppUDS" />

<sec:authentication-manager alias="authenticationManager">
   <sec:authentication-provider user-service-ref="myCustomUDS">
   </sec:authentication-provider>
</sec:authentication-manager>

非常相关的教程:您可以实现UserDetailService,从数据库或web服务自定义身份验证过程,因为它是由一个现成的AuthenticationProvider实现提供的:DAOAAuthenticationProvider,它是AbstractUserDetailsAuthenticationProvider的一个concert类,依赖UserDetailService提供用户名和密码来与用户输入进行比较以实现身份验证。非常相关的教程:您可以实现UserDetailService可从数据库或web服务自定义身份验证过程,因为它是由一个现成的AuthenticationProvider实现提供的:DaoAuthenticationProvider,它是AbstractUserDetailsAuthenticationProvider的一个concert类,依赖UserDetailService提供用户名和密码,以将它们与用户输入进行比较,从而实现身份验证。