2012-01-02 34 views
5

thể trùng lặp:
create-session stateless usageBảo mật mùa xuân trong ứng dụng web không quốc tịch?

Im chỉ mới bắt đầu thử nghiệm trên Xuân An, trên phiên bản 3.1, và im tự hỏi làm thế nào để đạt được xác thực với một webapp quốc tịch.

http cơ bản và thông báo đến, và tôi đã thử chúng, nhưng tôi không thích khả năng đăng xuất như xác thực biểu mẫu mà không đóng trình duyệt.

Tôi hiện đang có một ứng dụng web không trạng thái hoạt động với xác thực dựa trên biểu mẫu bằng cách sử dụng bảo mật mùa xuân (làm cho nó có trạng thái lưu trữ auth trong phiên?) Và tôi tự hỏi các chiến lược mà tôi có thể nghiên cứu là gì làm việc mà không sử dụng các phiên http?

Tôi nhận ra rằng có một số <http create-session="stateless" ..>, nhưng phải có cái gì đó cần nhiều hơn vì ứng dụng ngừng hoạt động chính xác sau khi tôi thử điều đó, bằng cách tiếp tục xác thực tôi khi truy cập tài nguyên được bảo vệ.

Dưới đây là cấu hình của tôi:

<http use-expressions="true" create-session="stateless"> 
    <form-login login-page="/login" 
     login-processing-url="/static/j_spring_security_check" 
     authentication-failure-url="/login?login_error=t" /> 
    <logout logout-url="/static/j_spring_security_logout"/> 

    <intercept-url pattern="/person/test/**" 
     access="isAuthenticated() and principal.username=='albertkam'" 
    /> 
    <intercept-url pattern="/person/**" access="hasRole('ROLE_NORMAL')"/> 

    <remember-me 
     key="spitterKey" 
     token-validity-seconds="2419200"/> 
</http> 

Vớicreate-session="stateless":

  1. truy cập http://myhost:8080/mycontext/person/blah
  2. đi đến trang đăng nhập
  3. trở về url trang chủ http://myhost:8080/mycontext sau khi đăng nhập (i mong đợi nó trả về đến tài nguyên được bảo vệ)

Withoutcreate-session="stateless", mặc định là ifRequired (stateful):

  1. truy cập http://myhost:8080/mycontext/person/blah
  2. đi để đăng nhập trang
  3. quay lại url được bảo vệ http://myhost:8080/mycontext/person/ blah sau khi đăng nhập (đây là hành vi đúng, nhưng stateful)
+1

Nó được trả lời trong này [chủ đề] [1] [1]: http://stackoverflow.com/questions/8800855/create-session-stateless-usage – bertie

Trả lời

0

Bạn có thể sử dụng always-use-default-target="false" trên <form-login> để ngăn chặn cách vào trang mặc định sau khi đăng nhập thành công.

+0

Hi, tôi đã cố gắng gợi ý của bạn , nhưng nó vẫn đi đến trang chủ với người không quốc tịch. Tôi nghĩ rằng đó không phải là vấn đề, vì không có giá trị thuộc tính không trạng thái, dòng chảy hoạt động tốt. – bertie

+0

Tôi rất tiếc khi biết điều đó, tôi nghĩ luôn luôn sử dụng-mặc định-target = "false" nên hoạt động trong trường hợp không quốc tịch. – kunal

Các vấn đề liên quan