Метод безопасности в Spring Security - PullRequest
0 голосов
/ 13 июля 2011

У меня есть вопрос относительно использования Spring Security для защиты от SQL-инъекций.Прежде всего, я знаю, что использование подготовленного оператора может защитить от любого внедрения SQL.Но в моем проекте я хочу показать, что использование Spring Security может помочь защитить или смягчить атаки такого рода.то, что я сделал до сих пор, я установил соединение с использованием JDBC и Spring и применил Spring Security, и все в порядкеМой вопрос в моем проекте, я использовал два способа защиты от SQL-инъекций.Первый - Santizing пользовательский ввод, а второй использует Spring Security.Я мог бы передать вредоносный ввод через Sanitizaing, и я хочу показать, что роль весенней безопасности.например, я передаю этот ввод:

TV' UNION SELECT credit_no From credit;--

В этом случае, как я могу сказать Spring Security, что он не дает никому из пользователей номер кредита.Кстати, я использовал метод уровня безопасности.Просто я хочу дать мне простой способ проанализировать пользовательский ввод, чтобы увидеть, есть ли у него доступ к данным, которые он запрашивал, например, кредит.

Я надеюсь, что ясно

1 Ответ

0 голосов
/ 14 июля 2011

Ну, ваш вопрос не ясен на 100%, и он может варьироваться в зависимости от вашей архитектуры, но предварительные аннотации могут хорошо работать, чтобы захватить пользовательский ввод.Вы можете создать свой собственный оценщик разрешений и проверить разрешение для предварительной авторизации в ваших методах.

@PostFilter("hasPermission(filterObject, 'customoperation')")
public CreditCard getCreditCard(String userInput) {
    //
}

и ваш метод 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;
}

Вы также можете расширить обработчик выражений для использования пользовательскихфункции.Проверьте этот ответ .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...