Spring Boot Аннотация безопасности Google App Engine? - PullRequest
1 голос
/ 15 марта 2019

В настоящее время я работаю над проектом Spring Boot с Google App Engine и пытаюсь проверить, вошел ли мой пользователь в действия моего контроллера благодаря аннотациям, таким как @PreAuthorize(isAuthenticated()). Эта аннотация будет возвращать ошибку HTTP 403, если ложь.

В настоящее время мои пользователи вошли в систему с помощью базового пользовательского сервиса Google App Engine, и я уже пытался использовать эту аннотацию безуспешно (она ничего не делает).

Вот мой файл pom:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <version>2.1.3.RELEASE</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <version>2.1.3.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <version>2.1.3.RELEASE</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
            <version>2.1.3.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>                        
            <groupId>com.google.cloud</groupId>
            <artifactId>google-cloud</artifactId>
            <version>0.47.0-alpha</version>
        </dependency>
        <dependency>
            <groupId>org.webjars</groupId>
            <artifactId>jquery</artifactId>
            <version>3.3.1-2</version>
        </dependency>
        <dependency>
            <groupId>org.webjars</groupId>
            <artifactId>materializecss</artifactId>
            <version>1.0.0</version>
        </dependency>
        <dependency>
            <groupId>com.google.appengine</groupId>
            <artifactId>appengine-api-1.0-sdk</artifactId>
            <version>1.9.71</version>
        </dependency>

Я пытаюсь сделать мой код более читабельным, сейчас я делаю это на своем контроллере:

private UserService userService = UserServiceFactory.getUserService();

@GetMapping("/pizza/create")
public String createPizza(Model model) {
    if (!userService.isUserLoggedIn()) { // used in every actions that need an authentication check
        return "error";
    }

    model.addAttribute("pizza", new Pizza());
    return "create";
}

Но я бы хотел иметь это:

@PreAuthorize(isAuthenticated())
@GetMapping("/pizza/create")
public String createPizza(Model model) {
    model.addAttribute("pizza", new Pizza());
    return "create";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...