2011-12-20 23 views
8

Với Silverlight 5 mới, giờ đây chúng tôi có thể có ứng dụng tin cậy nâng cao trong trình duyệt. Tuy nhiên, tôi đang gặp một số vấn đề để triển khai ứng dụng.Trong ứng dụng đáng tin cậy của trình duyệt Silverlight 5

Khi tôi thử nghiệm ứng dụng từ Visual Studio, mọi thứ hoạt động tốt bởi vì nó tự động cung cấp mọi quyền nếu trang web được lưu trữ trên máy cục bộ (localhost, 127.0.0.1).

tôi thấy trên MSDN mà tôi phải làm theo 3 bước để làm cho nó làm việc trên bất kỳ trang web:

  1. Ký XAP - Tôi đã làm điều đó sau khi Microsoft hướng dẫn
  2. Cài đặt lưu trữ chứng chỉ Trusted Publishers - Tôi cũng đã làm theo hướng dẫn của Microsoft
  3. Thêm khóa Đăng ký với giá trị AllowElevatedTrustAppsInBrowser.

Bước thứ ba là bước tôi không chắc chắn nhất. Chúng ta có cần phải thêm khoá đăng ký này trên máy cục bộ hoặc trên máy chủ không? Có chức năng tự động nào trong Silverlight để thêm khóa này hay không hoặc tốt hơn là tạo một tập tin batch?

Ngay cả với ba bước đó, ứng dụng vẫn không hoạt động khi được gọi từ một url khác so với localhost.

Có ai đã triển khai thành công ứng dụng tin cậy nâng cao trong trình duyệt không? Bạn có thấy những gì tôi đang làm sai?

Nguồn:

+1

Bạn có tìm thấy giải pháp cho vấn đề của mình không? Tôi đang đối mặt với cùng một vấn đề chính xác ... Cảm ơn –

+0

Xem Câu trả lời được đặt cược Giá vé. Nó chỉ ra rằng các chứng chỉ tự ký cũng cần phải được thêm vào Trusted Root Certificate Authority. – jmc

Trả lời

12

Có rất nhiều tài nguyên tuyệt vời mô tả quá trình này, bao gồm những tài nguyên được đề cập trong phản hồi tại đây. Tôi muốn ghi lại các bước làm việc cho chúng tôi. (Silverlight 5.1.10411.0)

Dưới đây là các bước mà chúng tôi đã để cho phép các ứng dụng trong trình duyệt Trusted:

  1. Ký tên vào tập tin Xáp với mã ký then chốt.
  2. Install đang công ký chìa khóa vào "Certificates-> Current user-> Trusted Publishers"
  3. Đặt registry DWORD chính AllowElevatedTrustAppsInBrowser = 1 tại
    SL 64 bit path: HKLM\Software\Wow6432Node\Microsoft\Silverlight
    SL 32 bit path: HKLM\Software\Microsoft\Silverlight
  4. Mở dự án Silverlight trong một trình soạn thảo văn bản và xác minh các mục sau tồn tại:
    <RequireInBrowserElevation>true</RequireInBrowserElevation> 
    <InBrowserSettingsFile>Properties\InBrowserSettings.xml</InBrowserSettingsFile> 
    
  5. Kiểm tra thuộc tính \ InBrowserSettings.xml tồn tại và chứa:
    <InBrowserSettings> 
      <InBrowserSettings.SecuritySettings> 
        <SecuritySettings ElevatedPermissions="Required" /> 
      </InBrowserSettings.SecuritySettings> 
    </InBrowserSettings> 
    

Lưu ý:

  • Nếu bạn sử dụng một chứng chỉ tự ký kết trong khi thử nghiệm, bạn cũng sẽ cần phải cài đặt nó vào "Certificates-> Current user-> Tổ chức chứng nhận Trusted Root ". (Mua một cái trước khi bạn đi vào sản xuất)
  • Khi bạn đăng ký một tệp XAP, bạn không thể giải nén và sửa đổi nó khi làm như vậy phá vỡ ký (nó phải được từ chức).
  • Đừng quên xóa bộ nhớ cache của trình duyệt nếu bạn đang lưu vào bộ nhớ cache tệp xap.
  • Tính năng này hoạt động trên Windows 7 và Windows 8 Release Preview (chế độ dành cho máy tính) với IE, Chrome, Firefox và Safari.
+0

Bingo cho chỉ ra gotcha tự ký. Điều này dường như đi rất nhiều người. – jmc

+0

+1 Bí quyết của tôi là cài đặt chứng chỉ ký vào Trusted Publishers (chứng chỉ của tổ chức phát hành trong Trusted Publishers và Trusted Root Certification Authorities là không đủ). – gius

+0

Bạn có thể giải thích nếu chúng tôi cần một số chứng chỉ để tải tệp lên dưới dạng SL nói chung? –

1

Tóm lược sửa đổi registry cần phải được trên máy khách hàng; máy thực thi ứng dụng Silverlight.

Có một số demo available qua số XAMLGEEK; như mọi thứ bạn đặt ra sẽ giúp bạn ở trạng thái làm việc. Mike Taulty cũng có một số excellent walk through.

+0

Bạn có nghĩ rằng vấn đề là tôi đang sử dụng chứng chỉ được tạo không? Tôi có phải mua một cái không? – Philippe

+0

Không, bạn không cần phải mua một cái. –

+0

Không, bạn không cần phải mua một cái, nhưng nếu bạn tạo chứng chỉ của riêng mình, bạn cũng cần phải thêm nó vào Tổ chức phát hành chứng chỉ gốc đáng tin cậy. Việc thêm chứng chỉ tự ký của riêng bạn vào chỉ Nhà xuất bản đáng tin cậy sẽ không hoạt động. (xem Fares Noueihed câu trả lời, của nó cho đến nay toàn diện nhất và chỉ ra điểm này khá quan trọng) – jmc

2

Tôi đã tạo thành công ứng dụng Silverlight 5 trong trình duyệt với các đặc quyền cao rơi xuống this msdn article. Bạn luôn có thể kiểm tra xem ứng dụng của bạn đã được nâng privs với:

Application.Current.HasElevatedPermissions 

Vấn đề của tôi là trong khi nó hoạt động mà không có vấn đề trong Firefox 14, IE9 cần phải được chạy as administrator trong Windows 7. tôi hiện đang tìm kiếm một cách để làm cho nó hoạt động mà không cần thực thi IE với tư cách quản trị viên. Nếu có ai biết làm thế nào để làm điều này tôi sẽ đánh giá cao sự giúp đỡ.

Edit:

Wow. Trên thực tế liên kết từ Aaron McIver đã giúp tôi rất nhiều. Tôi vừa chuyển sang chế độ "Bật chế độ được bảo vệ" và giờ đây nó hoạt động tốt mà không có quyền quản trị viên. : D

0

Tôi muốn kết nối với ứng dụng Silverlight vào ổ cắm trên cổng 10001 trên cùng một địa chỉ lưu trữ nơi ứng dụng được lưu trữ.

Có thể thực hiện điều đó mà không thay đổi bất kỳ điều gì ở phía khách hàng không?

0

tôi cũng phải đối mặt với cùng loại sự cố

khi chúng tôi sử dụng chứng chỉ kiểm tra sẽ chỉ hoạt động cho máy cục bộ.

bạn phải ký ứng dụng của mình bằng một chứng chỉ khác và nó sẽ hoạt động.

liên kết câu hỏi Silverlight 5 In browser trusted application

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