我的网站有两种类型的用户:卖方和买方。这两个域类别都不同(卖方进行拍卖,买方进行出价)。如何使用Spring安全性插件创建两个域类?
我在互联网上找不到示例。我发现的是如何通过修改User类或扩展它来自定义插件。如果您能指出我的方向,那将是很好的。我是Grails的新手。谢谢。
最佳答案
这实际上取决于卖方和买方的含义。
如果与Amazon.com类似;他们如何允许一个帐户(也称为用户)拥有卖方资料和客户(买方)资料,然后您可以将卖方和买方属性添加到用户。
class User {
Seller seller
Buyer buyer
}
然后,您将根据需要选择适当的配置文件。
springSecurityService.currentUser.seller
// or
springSecurityService.currentUser.buyer
如果用户只能是买方或卖方,则一对一关联将是最佳选择,但它需要买方和卖方具有共同的父类(super class)。
class User {
Static hasOne = [profile: UserProfile]
}
class UserProfile { }
class Seller extends UserProfile {
User user
}
class Buyer extends UserProfile {
User user
}
但是使用这种方法,您将不知道自己拥有哪种类型的配置文件。因为
springSecurityService.currentUser.profile
可以返回任何一种类型。如果类型很重要,那就是一个警告信号,一对一不是正确的选择。另一种可能是用户域中的用户类型属性。
关于grails - Grails Spring Security多个自定义(域)类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32083119/