当我去脚手架视图检查事务时,我怎么知道每个用户只看到他自己的事务?
您将不得不修改脚手架视图以使其正常工作:
@Secured(['ROLE_USER'])
def list() {
def authenticatedUser = User.findByUsername(springSecurityService.principal.username)
def transactions = Transaction.findAllByUser(authenticatedUser)
[transactions: transactions]
}
以上将只允许经过身份验证的用户访问 list() 方法,并将获取登录用户的所有事务。
相反,如何创建一个可以查看所有用户的所有交易的用户?
您不会创建一个可以查看所有内容的用户,而是在您的控制器中创建一个允许特定用户查看所有内容的方法,例如:
@Secured(['ROLE_USER', 'ROLE_ADMIN'])
def list() {
def authenticatedUser = User.findByUsername(springSecurityService.principal.username)
def transactions = []
if (SpringSecurityUtils.ifAnyGranted('ROLE_ADMIN')) {
transactions = Transaction.list()
}else{
transactions = Transaction.findAllByUser(authenticatedUser)
}
[transactions: transactions]
}
反正就是这样。根据需要进行调整。