2011-08-29 17 views
9

Tuần trước, ba chúng tôi đã dành hai ngày để xây dựng một ứng dụng web đơn giản bằng cách sử dụng Happstack. Một trong những mối quan tâm của chúng tôi là xác thực và có vẻ như đã từng là gói Happstack.Auth trông thực sự tốt. Thật không may là dự án ban đầu dường như đã bị bỏ rơi, và mặc dù đã có một ngã ba, chúng tôi không thể có được cái nĩa để xây dựng.Phần mềm nào được khuyến nghị để xác thực bằng bộ công cụ web devstack của Happstack?

Những phương án nào mà mọi người đề xuất để thực hiện xác thực trong Happstack? Có phải happstack-auth có khả thi không?

Trả lời

5

Bạn có thể xem xét happstack-xác thực như một sự thay thế,

darcs được http://src.seereason.com/happstack-authenticate/

happstack-authenticate xây dựng trên đầu trang của xác thực và pwstore để cung cấp:

  1. thẩm định chuẩn username/password
  2. xác thực openid
  3. kết nối facebook

Mã được thiết kế sao cho nó có thể được sử dụng với nhiều giải pháp tạo mẫu khác nhau. Mặc dù, hiện tại, chỉ có các mẫu HSP.

Nó chưa phải là hack, nhưng sẽ được. Tôi hy vọng nó sẽ trở thành giải pháp xác thực trên thực tế.

Bạn có thể nhìn thấy nó là hành động ở đây:

http://www.seereason.com/

Mã nguồn bao gồm một thư mục demo với một khép kín ví dụ.

Mã hoạt động - mặc dù có một số tính năng vẫn cần được thêm vào. Ví dụ: nếu bạn được chuyển hướng đến trang đăng nhập, cuối cùng bạn sẽ được chuyển tiếp về trang gốc mà bạn đang cố truy cập sau khi bạn đăng nhập.

Sự thiếu sót lớn nhất hiện tại là tài liệu. Điều đó sẽ được giải quyết.

Bạn sẽ nhận thấy rằng việc sử dụng xác thực sẽ sử dụng các tuyến đường web cho các url an toàn loại và trạng thái axit để lưu trữ thông tin xác thực. Tuy nhiên, những lựa chọn thiết kế đó không phải rò rỉ vào phần còn lại của ứng dụng của bạn.

Bạn đang sử dụng giải pháp mẫu nào? Tôi sẽ quan tâm đến việc thêm hỗ trợ cho các hệ thống bổ sung.

- jeremy

p.s. Nếu bạn nhìn vào mã, nó có vẻ phức tạp hơn dự kiến. Đó là bởi vì nó được thiết kế để cho phép:

  1. nhiều phương pháp xác thực cho một hồ sơ đơn

    Ví dụ, bạn có thể liên kết nhiều tài khoản OpenID đến cấu hình tương tự. Có lẽ vì bạn sợ rằng bạn có thể mất quyền truy cập vào tài khoản openid chính của mình. Hoặc có thể bạn muốn mọi người trong nhóm của bạn đăng nhập bằng tài khoản được chia sẻ.(Ví dụ: trên một trang web như twitter, bạn có thể muốn nhiều người có thể đăng tweet qua tài khoản công ty).

  2. nhiều cấu hình cho một phương thức xác thực đơn

    Trên một trang web của một twitter như thế nào, bạn có thể có nhiều tài khoản. Ví dụ, tôi có tài khoản twitter cho, bản thân mình, nhiếp ảnh của tôi, âm nhạc của tôi, happstack, seereason, và nhiều hơn nữa. Thay vì có xác thực riêng cho từng tài khoản, sẽ rất tuyệt khi có một xác thực đơn lẻ và sau đó chọn 'tiểu sử' nào tôi muốn.

các trang web sử dụng tính năng xác thực không cần phải hỗ trợ các tùy chọn này, tất nhiên.

+0

Hiện tại, chúng tôi đang sử dụng 'Text.Blaze' để tạo khuôn mẫu. Chúng tôi thực sự thích trình tạo HTML kiểu an toàn kiểu WASH theo kiểu mẫu XML. –

+0

hỗ trợ blaze-html cho happstack-authenticate chắc chắn là thư viện mẫu tiếp theo trong danh sách TODO. Nếu đó là một blocker tôi có thể làm điều đó sớm hơn là sau này. Tôi đang di chuyển trong tuần này, nhưng tôi có thể làm điều đó vào tuần tới đôi khi. – stepcut

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