Spring security Spring安全中的方法安全

Spring security Spring安全中的方法安全,spring-security,Spring Security,我有一个关于使用Spring安全性来防止SQL注入的问题。首先,我知道UsePrepared语句可以防止任何SQL注入。但在我的项目中,我想展示使用Spring安全性可以帮助保护或减轻此类攻击。到目前为止,我使用JDBC和Spring建立了连接,并应用了Spring安全性,一切都很好。我的问题是在我的项目中,我使用了两种方法来防止SQL注入。第一个是Santizing用户输入,第二个是使用Spring安全性。我可以通过清理来传递恶意输入,我想展示spring安全性的作用。例如,我传递以下输入:

我有一个关于使用Spring安全性来防止SQL注入的问题。首先,我知道UsePrepared语句可以防止任何SQL注入。但在我的项目中,我想展示使用Spring安全性可以帮助保护或减轻此类攻击。到目前为止,我使用JDBC和Spring建立了连接,并应用了Spring安全性,一切都很好。我的问题是在我的项目中,我使用了两种方法来防止SQL注入。第一个是Santizing用户输入,第二个是使用Spring安全性。我可以通过清理来传递恶意输入,我想展示spring安全性的作用。例如,我传递以下输入:

TV' UNION SELECT credit_no From credit;--
在这种情况下,我如何告诉Spring security它不给任何用户信用编号。顺便说一下,我使用了方法安全级别。我只是想给我一个简单的方法来分析用户输入,看看它是否可以访问他要求的数据,比如信用


我希望清楚

好吧,你的问题不是100%清楚,它可能因你的架构而异,但可以很好地抓住用户的输入。 您可以创建自己的方法,并在方法中检查预授权权限

您在上面的链接中读到的hasPermission方法类似于:

public boolean hasPermission(Authentication authentication,
        Object target, Object permission) {
    if ("customoperation".equals(permission)) {
        //your logic here, returning true or false, filtering the object
    }
    return false;
}

还可以扩展表达式处理程序以使用自定义函数。检查。

谢谢您的回答,applicationContext.xml怎么样。我如何在其中进行配置。这是一个非常普遍的问题。您应该查看文档。这里有很多关于它的问题。你可以搜索。别忘了投好的票,接受你的问题。阅读常见问题解答。
public boolean hasPermission(Authentication authentication,
        Object target, Object permission) {
    if ("customoperation".equals(permission)) {
        //your logic here, returning true or false, filtering the object
    }
    return false;
}