🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
易于使用创建自定义`UserDetailsService`实现,从实际选择的持久性引擎中提取信息,但许多应用程序不需要这样的复杂性。 如果您正在构建原型应用程序或刚刚开始集成Spring Security,而您真的不想花时间配置数据库或编写`UserDetailsService`实现,则尤其如此。 对于这种情况,一个简单的选择是使用安全命名空间中的`user-service`元素: ~~~ <user-service id="userDetailsService"> <!-- Password is prefixed with {noop} to indicate to DelegatingPasswordEncoder that NoOpPasswordEncoder should be used. This is not safe for production, but makes reading in samples easier. Normally passwords should be hashed using BCrypt --> <user name="jimi" password="{noop}jimispassword" authorities="ROLE_USER, ROLE_ADMIN" /> <user name="bob" password="{noop}bobspassword" authorities="ROLE_USER" /> </user-service> ~~~ 这也支持使用外部属性文件: ~~~ <user-service id="userDetailsService" properties="users.properties"/> ~~~ 属性文件应包含表单中的条目: ~~~ username=password,grantedAuthority[,grantedAuthority][,enabled|disabled] ~~~ 例如: ~~~ jimi=jimispassword,ROLE_USER,ROLE_ADMIN,enabled bob=bobspassword,ROLE_USER,enabled ~~~