adf

All posts tagged adf

نحوه فعال سازی ADF Security

در این مقاله در چند گام ساده نحوه فعال سازی ADF Security در برنامه‌های تحت وب ADF را تشریح می‌نمایم. مثال استفاده شده برای این مقاله به این شرح می‌باشد که یک task flow ساده که شامل یک صفحه می‌باشد را ایجاد نموده و پس از آن یک role به نام myRole در ADF Security ایجاد نموده و task flow را برای افرادی که این role را دارند مجاز می‌نماییم. سپس یک کاربر به نام usr برای ورود ایجاد می‌نماییم و به آن مجوز myRole را اختصاص می‌دهیم تا بتواند task flow را اجرا نماید.

شرح
۱. ابتدا پروژه را ایجاد و task flow با نام secureTF ایجاد می‌نماییم. دقت فرمایید که این task flow از نوع bounded task flow می‌باشد. سپس یک صفحه نیز با نام main ایجاد می‌نماییم و درون secureTF قرار می‌دهیم.

۲. حال نوبت آن شده تا ADF Security را فعال نماییم. برای این منظور همانند تصویر زیر از application menu گزینه Secure منوی Configure ADF Security را کلیک نمایید تا ویزارد مخصوص برای فعال‌سازی ADF Security اجرا گردد

ویزارد فعال سازی ADF Security

۳. در مرحله اول گزینه پیش فرض آن را بدون تغییر باقی گذاشته و دکمه Next را میزنیم. در مرحله بعد برنامه تحت وبی را که می‌خواهیم برای آن ورود و خروج قرار دهیم را باید انتخاب نموده و پس از آن نوع مکانیسم اعتبارسنجی مورد استفاده را مشخص نماییم. در نوع اعتبارسنجی همانند تصویر زیر گزینه Form-Based Authentication را انتخاب می‌نماییم و گزینه Generate Default Pages را در حالت انتخاب قرار می‌دهیم. این گزینه باعث می‌شود تا فرم ورود و فرم خطا در ورود پیش فرض به صورت خودکار ساخته شود. سپس دکمه Next را کلیک می‌نماییم.

۴. این مرحله این امکان را می‌دهد تا به صورت خودکار بتوان به تمام صفحات و task flowهای موجود در برنامه مجوزدهی کرد که ما انتخاب اول آن را تغییر نداده تا خودمان به صورت دستی این مجوزدهی را با توجه به نیازمان انجام دهیم. دکمه Next را برای رفتن به مرحله بعد کلیک نمایید.

۵. در این مرحله می‌توان تنظیم کرد که پس از ورود موفق کاربر، او را به یک صفحه خاص مثلا صفحه اصلی برنامه فرستاد. ما این قسمت را به صورت پیش فرض رها کرده و این امکان را فعال نخواهیم کرد تا مکانیسم پیش‌فرض ADF پس از ورود موفق کاربر را بر هم نزنیم. ADF به صورت پیش فرض کاربر را مجددا به همان صفحه‌ای که از آنجا برای ورود به صفحه ورود هدایت شده، باز می‌گرداند.کلیک دکمه Next برای ورود به مرحله بعد تنها کاریست که باید انجام دهید.

۶. در این مرحله خلاصه‌ای از اتفاقاتی که قرار است با زدن دکمه Finish رخ دهد را برای شما به نمایش می‌گذارد. دکمه finish را کلیک نمایید تا تغییرات نهایی و ADF Security فعال گردد.

۷. پس از فعال‌سازی ADF Security نوبت به تنظیم آن با توجه به نیازمان می‌باشد. در ابتدا باید یک role با نام myRole ایجاد نماییم. برای این کار از منوی application menu داخل گزینه Secure منوی Application Roles را کلیک نمایید تا صفحه مربوطه باز گردد.

۸. با زدن دکمه مثبت سبز رنگ (‌شماره یک در تصویر) یک role جدید ایجاد نموده و عنوان ( شماره دو در تصویر)آن‌را به myRole و یا هرچیز دیگری که مایل هستید تغییر دهید و یا مقدار آنرا بدون تغییر رها کنید.

۹. برای ورود به برنامه نیاز به یک نام کاربری و رمز عبور داریم که برای ایجاد آن باید از Application Menu در گزینه Secure منوی Users را کلیک نماییم تا صفحه مربوطه باز شود.

۱۰. دکمه مثبت سبز ( شماره یک در تصویر زیر ) را کلیک نمایید تا کاربر جدید ایجاد گردد. نام کاربری(شماره دو در تصویر زیر) usr (دلخواه بوده و هرچیز دیگری می‌تواند باشد) را برای آن وارد نمایید . رمز عبور را نیز وارد نموده و در انتها دکمه مثبت سبز ( شماره سه در تصویر) را کلیک نموده و role که در مرحله قبل ایجاد کردید را برای کاربر انتخاب نمایید.

۱1. در انتها باید منابع برنامه را با توجه به سیاست‌های امنیتی مورد نیاز مجوزدهی نمود . در این برنامه ما تنها یک role و یک task flow داریم و تنها تنظیمی که لازم می‌باشد دادن مجوز اجرای task flow به کسانی که مجوز myRole را دارند. برای این کار از Application Menu و گزینه Secure منوی ADF Policies را کلیک نمایید تا صفحه مربوطه باز شود.

۱۲. درtask flow ساخته شده را در صفحه باز شده ملاحظه خواهید نمود. آن را انتخاب نمایید و دکمه مثبت سبز(شماره یک در تصویر) را کلیک نمایید. لیست تمام roleهای موجود در برنامه چه آنهایی که خودتان ساخته‌اید و یا به صورت پیش فرض وجود دارند نمایش داده می‌شود. myRole را انتخاب نمایید تا task flow توسط کاربرانی که این مجوز را دارند قابل اجرا گردد.

تبریک می‌گویم تمام مراحل را به خوبی به پایان رساندید و حال کافیست برنامه را اجرا نمایید و ملاحظه نمایید که برنامه در ابتدا از شما نام کاربری و رمزعبور میخواهد و سپس صفحه main را به شما نمایش می‌دهد. دقت نمایید که برای اجرا بر روی main درون SecureTF کلیک نموده و اجرا را کلیک نمایید.

برای تست صحت عملکرد myRole را از کاربر خود بگیرد یا به عبارت دیگر آنرا از لیست roleهای کاربر در منوی Users گزینه Secure حذف نمایید و سپس برنامه را اجرا نمایید و با تصویر زیر یا به عبارت دقیق‌تر با خطای زیر روبرو خواهید شد.

نکته آخر اینکه برای حذف ADF Security کافیست همانند مرحله ۲ ویزارد آنرا اجرا نمایید و این بار گزینه آخر Remove ADF Security Configuration را انتخاب نمایید و دکمه Finish را کلیک نمایید تا تمام تنظیمات امنیتی برنامه با چند کلیک ساده حذف گردد.

در پایان اشاره می‌شود که می‌توان نام کاربری و رمزعبور را از فراهم کنندگان دیگری همچون LDAP، پایگاه داده و سایر مواردی که وجود دارد بدست آورد و از صحت آن اطمینان حاصل نمود که در آینده نحوه استفاده از پایگاه داده را شرح خواهم داد.

فایل مثال

فایل PDF

با تشکر

فایل پیوست:
خواندن بیشتر
royal visionنحوه فعال سازی ADF Security

نحوه ساخت و استفاده از ADF Library

فریم‌ورک ADF به منظور بالا بردن قابلیت استفاده مجدد (Reuseability ) امکاناتی را فراهم کرده است. استفاده مجدد از صفات یک فیلد در viewObject گرفته تا کل یک پروژه قابل گسترش می‌باشد. من در این مقاله سعی دارم تا نحوه استفاده از یک BC Model را به صورت یک library در برنامه‌های ADF نشان دهم تا شما یاد بگیرید که چگونه می‌توانید مدل آماده نمایید و آن‌را در برنامه‌های مختلف مورد استفاده قراردهید. برای نشان دادن این موضوع از مثال لیست دپارتمان‌ها در HR استفاده می‌کنم. برای این مثال دو برنامه کاملا جدا ایجاد می‌نمایم. در یکی از آن‌ها پروژه مدل را ایجاد می‌کنم و دریکی دیگر viewController را ایجاد می‌نمایم. در نهایت پس از آماده کردن مدل، آن را به صورت یک library در‌ آورده و به viewOntroller اضافه می‌نمایم و با استفاده از آن صفحه لیست دپارتمان‌ها را ایجاد می‌نمایم. در این مثال مشاهده خواهید کرد که یک مدل را کاملا جدا ایجاد خواهیم کرد و سپس می‌توانیم آن را در هر برنامه‌ای که نیازمان بود استفاده نماییم.

شرح:
ابتدا یک برنامه با نام GeneralModel ایجاد نمایید. دقت کنید نوع برنامه را برابر Generic Application قرار دهید. همانند تصویر زیر

سپس دکمه Next راکلیک نموده و اسم پروژه را برابر myModel قرار دهید و از قسمت Project Technologies تکنولوژی ADF Business Components را انتخاب و به سمت راست انتقال دهید(همانند تصویر زیر). دقت نمایید که با انتقال آن جاوا نیز به صورت خودکار انتقال می‌یابد. تغییری ایجاد نکنید و آن را به همین صورت رها نمایید.

در پایان دکمه Next را کلیک کرده و در صفحه بعد فقط Default Package را تعیین و دکمه Finish را کلیک نمایید. تا اینجا برنامه مربوط به مدل را ایجاد کردیم همین فرایند را برای ساخت برنامه مربوط به viewController تکرار می‌نماییم با این تفاوت که برای Project Technologies باید تکنولوژی‌های ADF Faces, ADF Page Flow, HTML, Java , JSF, JSP and Servlet و XML را انتخاب نمایید. همانند تصویر

به منظور جلوگیری از طولانی شدن این مقاله نحوه آماده سازی مدل دپارتمان از قبیل Entity Object , View Object و Application Module تشریح نخواهد شد و فرض بر این است که این مراحل را خودتان انجام خواهید داد.

پس از آماده‌سازی مدل حال نوبت به این میرسد که این مدل را به صورت یک ADF Library آماده نماییم تا بتوانیم از آن در ViewCOntroller استفاده نماییم. برای این کار بر روی پروژه myModel راست کلیک نموده و Project Properties را انتخاب نمایید. از لیست سمت چپ Deployment را انتخاب نمایید و سپس دکمه New را از سمت راست کلیک نمایید. در کادر به نمایش در‌ آمده از لیست انتخابی ADF Library JAR File را انتخاب کنید و نام آن را نیز به myModelLib تغییر دهید(همانند تصویر زیر). سپس تمام مراحل را Ok نمایید و تغییری ایجاد نکنید.

حال تنظیمات مربوط به ایجادADF Library شما آماده شده است. JAR فایل مربوط به مدل در پوشه‌ای به نام Deploy در درون پروژه قرار می‌گیزد. می‌توانید در سیستم فایل به آن دسترسی داشته باشید البته پس از اینکه پروژه را Deploy کردید.
برای Deploy پروژه بر روی myModel در پلت Projects راست کلیک نمایید در منوی Deploy بر روی myModelLib کلیک نمایید. سپس دکمه Next و پس از آن Finish را کلیک نمایید.
حال JAR فایل در سیستم فایل شما ایجاد شده است و شما می‌توانید در خارج از JDeveloper به آن دسترسی داشته باشید.

خوب تا اینجا با موفقیت تمام، ADF Library را ایجاد کردیم . نوبت به آن رسیده تا آن را در ViewController که در ابتدای مقاله ایجاد کرده ایم وارد نماییم و صفحه لیست دپارتمان‌ها را بسازیم. در پلت Resources همانند تصویر زیر عمل نمایید. اگر پلت Resources را ملاحظه نمی‌نمایید از منوی View به آن دسترسی خواهید داشت.

در دیالوگ باز شده نامی دلخواه وارد نمایید و در قسمت Directory Path آدرس مربوط به پوشه Deploy مربوط به پروژه myModel را مشخص نمایید و Ok کنید.

حال مدل ما به عنوان یک Resource جدید به JDeveloper اضافه گردیده است و ما می‌توانیم در هر پروژه ای نیاز داشتیم از آن استفاده نماییم.
پروژه ViewController را باز نمایید در JDeveloper و سپس در پلت Resources فایل myModelLib.jar را انتخاب نمایید و بر روی آن راست کلیک نموده و add to project را انتخاب نمایید و دردیالوگ باز شده add Library را کلیک نمایید تا به پروژه مذکور اضافه گردد.

پس از اتمام مراحل بالا شما دیگر به مدل در قسمت Data Controles دسترسی دارید و می‌توانید صفحه لیست دپارتمان‌ها را ایجاد کنید.
نکته: قبل از اجرا برنامه باید رمز عبور Database Connection را در پلت application Resources وارد نمایید. چرا که این Connection از مدل وارد برنامه شده و رمزعبور آن خالی می‌باشد و باید مجددا وارد گردد.

تبریک می‌گویم شما تمام مراحل را با موفقیت پست سر گذاشتید. برنامه را تست کنید.

امیدوارم این مطلب براتون مفید باشه

فایل PDF

فایل مثال

فایل پیوست:
config maven 06 - نحوه ساخت و استفاده از ADF Library
bd9e5db58c7f88cb6cef5685c35d2e42f6336b58 702x336 - نحوه ساخت و استفاده از ADF Library
122359 - نحوه ساخت و استفاده از ADF Library
GUID 05E7CE77 EAEB 4562 950C DB123C8C4416 default - نحوه ساخت و استفاده از ADF Library
GUID 3EDB7803 64B6 4F75 B04C F41F416E40B2 default - نحوه ساخت و استفاده از ADF Library
gs install modellibs - نحوه ساخت و استفاده از ADF Library
خواندن بیشتر
royal visionنحوه ساخت و استفاده از ADF Library

نمونه برنام برای فراخوانی Oracle Report درداخل ADF

نمونه برنامه زیر قابلیت فراخوانی یک گزارش Oracle Report 10g و 11g را در داخل Oracle ADF فراهم مینماید.
به کمک عبارت

 reportBean.setReportServerParam(OracleReportBean.RS_PARAM_DESTYPE,"cache");

پارامتر های اجرای گزارش را ست نمایید و به کمک عبارت

 reportBean.setReportParameter("param", parameterValue1);

پارامتر های خود گزارش را ست نمایید.
در نهایت هم به کمک عبارات

 OracleReportBean reportBean =<br />
new OracleReportBean("192.168.1.12", "80", null);<br />
reportBean.setReportServerParam(OracleReportBean.RS_PARAM_REPORT,"adfreport");
اطلاعات سرور گزارش و نام گزارش را ست نمایید.
درمثال بالا adfreport نام گزارش میباشد.
فایل پیوست:

 

OracleReportBuilder
خواندن بیشتر
royal visionنمونه برنام برای فراخوانی Oracle Report درداخل ADF