Ответы пользователя по тегу Spring
  • Как организовать аутентификацию для REST (stateless) приложения (JAVA)?

    FanKiLL
    @FanKiLL
    stateless - как и весь http подразумевает без запоминания состояния.
    Собственно, нет разницы будут вам присылать login:password или токен привязанный к этому логину - всё равно придётся аутентифицировать. Лезть в базу и проверять есть ли такой токен и прочее. Просто чтоб не светить логин и пароль при каждом запросе (basic authentication) принято отсылать токены привязанные к этому логину.

    Я предпочитаю в хедерах отправлять/получать токены, так url остаются чистыми, чем когда токен передают в url параметре как у facebook сделано.
    Можно конечно кешировать, самое простое это HashMap с TTL в качестве ключа токен, в качестве значения - юзер. Проверять вначале HashMap на предмет, есть ли такой ключ с присланным токеном, если есть забираем юзера - если нет лезем в базу.

    В spring можете сделать interceptor где можно проверять токены, если всё нормально пропускать запрос дальше.

    Можно сделать аннотацию, и вешать её на контроллеры или методы которые хотим аунтефицировать и в интерцепторе вначале смотреть есть ли аннотация используя Reflection API.
    Ответ написан
    2 комментария
  • Hibernate many-to-one и one-to-many?

    FanKiLL
    @FanKiLL
    @Entity
    public class User {
    
    	@Id
    	@GeneratedValue(strategy = GenerationType.AUTO)
    	private Long id;
    	@Column(unique = true, nullable = false)
    	private String userName
    	@OneToMany(fetch = FetchType.LAZY, mappedBy = "user")
    	private Set<Todo> todos = new HashSet<Todo>();
    }


    @Entity
    public class Todo {
    	@Id
    	@GeneratedValue(strategy = GenerationType.AUTO)
    	private Long id;
    	@ManyToOne()
    	@JoinColumn(name = "user_id")
    	private User user;
    }
    Ответ написан
    Комментировать
  • Использование JSON в Spring MVC?

    FanKiLL
    @FanKiLL
    Добавте в pom.xml
    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>1.7.1</version>
    </dependency>
    Ответ написан
    Комментировать
  • Java-фреймворк для социальных игр?

    FanKiLL
    @FanKiLL
    А что требуется от социальной игры?
    Если просто показывать формочки, выводить топ100, отдавать json и т.д. по схеме запрос/ответ я бы выбрал play.

    Если нужны TCP, WebSocket'ы — лучше Netty помоему нет. Http ответы на netty тоже можно отдавать, в play это удобней просто.
    Кстати play тоже использует Netty.
    Инфы по Netty очень мало, даже в Eng сегменте, так что всё методом тыка, но документация у них хорошая.
    На хабре есть пару статей как написать сервер на Netty -> Разработка производительного игрового сервера на Netty + Java
    Ответ написан
    Комментировать
  • Выбор версии Spring?

    FanKiLL
    @FanKiLL
    А как же static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/

    Если вы говорите, что опыта практически нет, может лучше для начала почитать про EJB 3.1 и JPA 2.0?
    Ответ написан
    2 комментария