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提供用户名和密码,以将它们与用户输入进行比较,从而实现身份验证。