Sunday, October 9, 2011

Some Security Skills بعض النقاط حول الأمان


السلام عليكم و رحمة الله وبركاته, الحمد لله و الصلاة و السلام على رسول الله.
 اليوم إن شاء الله سنتكلم منح الصلاحيات للمتسخدمين لمشاهدة بيانات معينة::

  • تحديد البيانات المتاحة لكل مستخدم. فكل مستخدم يستطيع فقط أن يرى البيانات الخاصة به.
  • عرض بعض الأعمدة  و اخفاء البقية عن المستخدمين  الذين لا يملكون صلاحيات
  •  اخفاء  الحقول خلال فترة زمنية معينة أو جعل التطبيق متاح خلال ساعات معينة
  • جعل بعض الحقول للقراءة فقط بحيث لا يكمن تعديلها
-------------------------

1-
Select * from TABLE_NAME where upper (USER_NAME ) =  UPPER (:APP_USER) order by 1 desc 

إذا كنت أود أن أعطي صلاحيات لمستخدم اسمه اوراكل لكي يرى جيمع الصفوف

Select * from TABLE_NAME where upper (USER_NAME ) =  UPPER (:APP_USER) OR upper ( :APP_USER) = 'ORACLE' order by 1 desc 
-------------------------------------------

2-
click on edit page then Report Columns, ( Report Attributes tab). then go to Conditions.
SELECT * FROM DUAL WHERE upper (:app_user) not like 'ZIAD'
--------------------------------------------------
3-
click on edit item. then go to conditions.

TO_CHAR (SYSDATE, 'HH24') NOT BETWEEN '20' AND '23'

-----------------------------------------------------
يتبع إن شاء الله تعالى ....
4- We need to create Dynamic Action. (Show/Hide)

Go to Conditions. 
choose PL/SQL as Condition Type
 upper(:app_user) in ('X','Y','Z','F') and  :P2_empid is not null
في العادة نستخدم
:P2_ID
و في الاصدار الأخير من
APEX
نستخدم
:P2_RowID


الحمد لله و الصلاة و السلام على رسول الله