2012-01-12 19 views
6

Chúng tôi muốn ủy quyền cho người sử dụng và nếu họ được phép chúng tôi muốn thêm vai trò và quyền của họ để người sử dụng và thêm rằng đến IPrincipleAuthorizeAttribute v Application_AuthenticateRequest

Chúng tôi có 2 cách để làm điều này một là để làm điều đó trong global.asax Application_AuthenticateYêu cầu khác là tạo thuộc tính kế thừa từ AuthorizeAttribute

Có lựa chọn nào tốt ở đây không?

Trả lời

5

Trong ASP.NET MVC, bạn nên chọn thuộc tính ủy quyền tùy chỉnh. Nếu mặt khác, bạn muốn mã này có thể tái sử dụng được với các ứng dụng ASP.NET cổ điển thì bạn có thể sử dụng Application_AuthenticateRequest hoặc viết một HttpModule tùy chỉnh và sử dụng sự kiện AuthenticateRequest.

+0

vâng - những gì ruột của tôi đã nói với tôi. Bất kỳ thông tin về lý do tại sao nó được ưa thích? – iwayneo

+0

@ iwayneo, một trong những điều cần lưu ý là ASP.NET MVC tóm tắt cho bạn nhiều lớp học cụ thể của HttpContext giúp mã của bạn dễ dàng hơn trong việc kiểm tra đơn vị trong sự cô lập. Nếu bạn đặt mã của bạn trong Global.asax, bạn có thể sẽ làm việc với các lớp tĩnh và bị khóa mà cá nhân tôi không thích làm việc với. Đó là lý do tại sao tôi thích cách làm MVC hơn. Nhưng tất nhiên đó là chủ quan. Cả hai đều có thể. Tôi chỉ thể hiện sở thích cá nhân của mình ở đây. –

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