使用spring security core的grails应用程序有两个或三个不同的用户对象?

使用spring security core的grails应用程序有两个或三个不同的用户对象?,grails,spring-security,grails-2.0,Grails,Spring Security,Grails 2.0,我正在使用Grails2.1,在我的web应用程序中有三个不同的业务对象(用户对象) 每个用户对象与其他域对象具有不同的属性和关系 我希望每个用户对象都能够通过web应用程序进行身份验证,并能够访问不同的屏幕/仪表板等。某些屏幕可供所有用户对象使用,并且外观相同 直到今天,我才扩展了SpringSecurityCore生成的用户类。例如: class ShopOwner extends User {} class Customer extends User {} class Affiliate

我正在使用Grails2.1,在我的web应用程序中有三个不同的业务对象(用户对象)

每个用户对象与其他域对象具有不同的属性和关系

我希望每个用户对象都能够通过web应用程序进行身份验证,并能够访问不同的屏幕/仪表板等。某些屏幕可供所有用户对象使用,并且外观相同

直到今天,我才扩展了SpringSecurityCore生成的用户类。例如:

class ShopOwner extends User {}
class Customer extends User {}
class Affiliate extends User {}
在这种情况下,我能够以店主、客户和附属机构的身份使用spring security登录,没有问题


但这是最好的方式吗?或者我应该实现不同的用例吗?(根据UserDetailService等)一些建议、官方解决方案?谢谢大家!

你不想使用不同的角色吗?不是现在,而是将来。分离不同类型的用户就像将这些用户划分为具有不同关系和属性的不同角色。(店主可以开一家店,但顾客不能)使用了类似的方法-没问题我不确定我在这里看到了一个实际的问题。你有一个解决方案,但似乎在寻求讨论,这是最好的方法还是有其他方法。Grails用户邮件列表更适合讨论。谢谢Igor@是的,就是这样。我在寻找最好的方法。我也在寻找替代方案或建议。也许这可以由ApacheShiro做得更好?感谢您对grails用户邮件列表的建议。