יום שני, 23 באוגוסט 2010

Cross Domain Policy

הנה עוד בעיה אבל הפעם מכיון של FLEX חברו הצעיר של ה FLASH מבית חברת ADOBE, הבעיה איך אני מגדיר 2 אתרים שונים שנמצאים תחת ה LOCALHOST ב IIS אבל מתקשרים אחד עם השני , לצורך העניין אתר אחד מציג את אפליקצית ה FLEX והשני הוא WEBSERVICE שמשרת את האפליקציית ה FLEX.

CROSS DOMAIN POLICY קיים מתחילת דרכו של ה FLASH לכן הנושא הזה חיי ובועט וניתן למצוא עליו חומר רב, בעקבות ה FLEX שונו חלק מהפרמטרים שהיו ב FLASH ופרמטרים חדשים נוספו.
 דוגמה מבין רבות


CROSS DOMAIN POLICY הוא בעצם קובץ XML שמכיל את ה DOMAIN שאליהם ניגש ה FLEX.

הקובץ במקרה שלנו ממוקם בספריית ה ROOT של ה IIS.

דוגמה:



<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM
"http://www.adobe.com/xml/dtds/cross-domain-policy.dtd" >
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all">
<allow-access-from domain="*" secure="false">
< allow-http-request-headers-from domain="*" headers="*" secure="false">
< /cross-domain-policy>

ה * מסמנת שיש הרשאה לכל ה DOMAIN שמעוניינים לגשת מאפליקצית ה FLEX , אם זאת כתובת ספציפית יש להחליף את ה * בכתובת.

כמו שאמרתי ה DEFUALT של הקובץ נמצא ב ROOT , אבל אם ה WEBSERVICE שלנו היה נמצא בשרת אחר ההינו צריכים למקם אותו עם ה WEBSERVICE ,בעצם האפליקציית FLEX מחפשת את ה CROSSDOMAIN.XML ב DOMAIN שאליו היא מתחברת, כלומר הקובץ צריך להכיל את הכתובת של ה DOMAIN שממנו האפליקציית ה FLEX מופעלת על מנת שתהיה מאושרת לקבל נתונים מה WEBSERVICE.

 ניתן לבקש מהאפליקציה לקרוא לקובץ שבכלל נמצא בשרת אחר ע"י הוספת שורת קוד בתוך ה FLEX

Security.loadPolicyFile(http://mysite.com/crossdomain.xml);

בהצלחה...

אין תגובות:

הוסף רשומת תגובה