2008-10-07 20 views
5

Tôi đang sử dụng Dịch vụ Web Exchange để Tìm, Tạo, Cập nhật và Xóa cuộc hẹn từ lịch cho một hoặc nhiều người. Ứng dụng sẽ được người quản lý sử dụng để xem thời gian nghỉ của nhân viên cũng như chỉ định các cuộc hẹn dựa trên tính khả dụng.Cần một cách để xác thực với Dịch vụ Web Exchange

Để làm được điều này, thông tin đăng nhập của người dùng được xác thực phải được gửi đến dịch vụ web. Cho đến nay, hai phương pháp mà tôi đã tìm thấy sẽ cho phép điều này là 1) chuyển vào tên người dùng và mật khẩu của mỗi người dùng và 2) mạo danh người dùng sử dụng DefaultCredentials. Tùy chọn DefaultCredentials không hoạt động đối với chúng tôi vì chúng tôi không cho phép mạo danh người dùng.

Có ai biết cách khác không?

+0

có vẻ như chúng tôi cần thông tin đăng nhập của chủ sở hữu của mỗi cuộc hẹn để cập nhật cuộc hẹn. vẫn nhìn vào điều này. – coder1

Trả lời

6

Có các hạn chế chính sách của công ty ngăn cản bạn sử dụng mạo danh không? Bạn đang đề cập đến mạo danh Windows hoặc mạo danh Exchange?

Tùy thuộc vào việc mạo danh bạn không thể sử dụng, một giải pháp thay thế có thể là ủy quyền.

Nếu mục tiêu là để cho một người quản lý xem nhiều mailbox, sau đây là một số tùy chọn:

(1) truy cập Grant đại biểu đến hộp thư của nhân viên để quản lý. Tùy thuộc vào mức độ truy cập của đại biểu, điều này sẽ cho phép người quản lý xem các hộp thư của nhân viên và chỉnh sửa khi cần. Có một cảnh báo về cách tiếp cận này, tùy thuộc vào cách thức/cách thức cấp quyền truy cập, đại biểu (nhân viên) có thể xóa quyền truy cập và ngăn người quản lý xem lịch của họ.

Để xác thực bằng quyền truy cập đại biểu, giả sử ứng dụng sử dụng dịch vụ web đang chạy trong ngữ cảnh của người quản lý, bạn sẽ có thể sử dụng DefaultCredentials.

(2) Tạo tài khoản dịch vụ có quyền mạo danh hoặc ủy quyền truy cập vào hộp thư của nhân viên. Sau đó đăng nhập như tài khoản dịch vụ.

Đồng thời, dưới đây là một số liên kết bạn có thể thấy hữu ích ...

2

Nếu tôi hiểu bạn đúng, người quản lý sẽ sử dụng ứng dụng và xác thực với EWS như chính mình. EWS sau đó sẽ không thể cập nhật hộp thư của người dùng khác vì không đủ quyền.

Làm cách nào để cấp cho người quản lý quyền truy cập vào hộp thư của từng người dùng?

(Hoặc tôi thiếu một phần quan trọng của câu hỏi?)

1

Nếu người dùng sẽ đăng nhập vào máy tính của họ và các thông tin đăng nhập này có khả năng là availabl e trong bộ nhớ cache thông tin xác thực, bạn có thể xây dựng một đối tượng WebCredential từ đối tượng ICredentials thu được từ đó:

public static ExchangeService GetService() 
{ 
    var webCredentials = new WebCredentials(CredentialCache.DefaultNetworkCredentials); 

    var service = new ExchangeService(ExchangeVersion); 
    service.AutodiscoverUrl(Properties.Settings.Default.SmptAccountName); 
    service.Credentials = credentials; 

    return service; 
}