我正在使用 grails 2.1,并且我的 Web 应用程序中有三个不同的业务对象(用户对象)。
每个用户对象具有不同的属性和与其他域对象的关系。
我希望每个用户对象都能够通过 Web 应用程序进行身份验证,并能够访问不同的屏幕/仪表板等。某些屏幕对所有用户对象都可用并且看起来相同。
直到今天,我只是扩展了 spring security core 生成的 User 类。例如:
class ShopOwner extends User {}
class Customer extends User {}
class Affiliate extends User {}
在这种情况下,我可以使用 Spring Security 登录作为 ShopOwner、Customer 和 Affiliate,而不会出现问题。
但这是这样做的首选方式吗?或者我应该以不同的方式实现这个用例吗?(根据UserDetailService等)一些建议,官方解决方案?谢谢!