2011-11-10 32 views

Trả lời

9

Để ủy quyền cho tất cả người dùng, chỉ cần bỏ qua sử dụng thuộc tính [Authorize] alltogether. Để ủy quyền cho người dùng được xác thực, hãy sử dụng thuộc tính [Authorize]. Để ủy quyền cho vai trò hoặc người dùng cụ thể, đó là khi bạn sẽ có [Authorize (Users = "someuser")] hoặc [Authorize (Roles = "somerole")].

+0

Tôi đã thử .. Nó không hoạt động theo cách đó .. – Muthukumar

+0

Bạn đã thử cái nào? Chuyện gì xảy ra? Cái gì không hiệu quả? –

+0

Tôi đã thử [Ủy quyền (Người dùng = "*")] cho một Hành động. Nó thậm chí không cho phép người dùng được xác thực. Khi tôi chỉ thêm [Ủy quyền], nó cho phép người dùng được xác thực. – Muthukumar

0

Nhìn vào documentation for the attribute không giống như bạn có thể sử dụng theo cách đó. Theo mặc định, AuthorizeAttribute chỉ cho phép truy cập vào người dùng đã được xác thực và được ủy quyền, vì vậy, hãy chuyển * (tất cả) hoặc ? (khách) không có ý nghĩa.
Thuộc tính Người dùng được sử dụng để hạn chế thêm danh sách người dùng được xác thực có thể truy cập vào phương thức Hành động cùng với thuộc tính Vai trò cũng có thể được sử dụng để lọc thêm bất kỳ quyền truy cập được xác thực nào.

+0

Một điều đặc biệt là khi tôi sử dụng [Ủy quyền (Người dùng = "")], nó chỉ cho phép người dùng được xác thực. – Muthukumar

+0

Cảm ơn Andy vì Thông tin – Muthukumar

0

Tôi nghĩ bài đăng thứ hai là chính xác, trong [Authorize(Users = " * ")] phần " * " không có ý nghĩa gì (trong số web.config, nhưng đó là điều gì đó hoàn toàn khác).

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