mỗi Authentication và Autorization nguồn dưới http://docs.asp.net/en/latest/security/index.html
Đầu tiên bắt đầu một dự án ứng dụng Web ASP.Net mới, Chọn mẫu Web Application sau đó trên báo chí cửa sổ bên phải nút "Change xác thực" và chọn "Xác thực Windows".
Bây giờ bạn có thể sử dụng [Authorize]
trên một lớp hoặc phương pháp để kiểm tra xác thực cơ bản vs thư mục hoạt động như của RC2 bạn chỉ có thể sử dụng các tên nhóm ala [Authorize([email protected]"DOMAIN\GROUP")]
Giải pháp thay thế hiện nay đã lỗi thời và cồng kềnh (vẫn hoạt động):
Nếu bạn nhìn vào User.Claims
bạn có thể thấy các khóa nhóm tồn tại cho từng nhóm của người dùng. Xây dựng tắt mà bạn có thể làm điều gì đó như [Authorize(Policy="FOOBAR")]
và định nghĩa nó trong phương pháp Startup.ConfigureServices
của bạn thông qua
services.AddAuthorization(
o => o.AddPolicy(
"FOOBAR",
p => p.RequireClaim("http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid",
"ENTER GROUP SID")
));
Lưu ý rằng param thứ hai để RequireClaim là một mảng chuỗi để cho phép nhiều nhóm.
Cũng lưu ý để tìm ra id nhóm thông qua dòng lệnh này kỳ diệu dsquery group -name “ENTER GROUP NAME” | dsget group -sid
Nếu người dùng là không được phép, làm thế nào bạn sẽ chuyển hướng đến không được uỷ quyền View() ?? –
@HariGillala theo mặc định nó chỉ đơn giản là ném một http 500, xử lý giống như bất kỳ trang lỗi tùy chỉnh nào khác. Đăng câu hỏi thực tế để biết chi tiết cụ thể. – Rick
'[Ủy quyền (Vai trò = @" DOMAIN \ GROUP ")]' dường như hoạt động ngay bây giờ với RC2. – Jani