שאלה ב-sqr-server

lj101

New member
שאלה ב-sqr-server

איך ב-sql-server אני יוצר משתמשים שבכניסה ע"י אפליקצייה תוכל לבדוק אם הוא מורשה כניסה או לא ואז המערכת תתיר לו לעבוד וכמו כן האם ניתן לתת הרשאות לפי רמות זאת אומרת אם יש לי סניפים מסויימים שחלק מהעובדים לא מורשים להכנס לנתונים ולהציגם, בד"כ עבדתי עם טבלת משתמשים השאלה אם המערכת יודעת לבצע זאת ואז ע"י שימוש בשאילתות ניתן להגדיר או להסיר משתמש או לשנות רמות
 

tberger

New member
הרשאות ב SQL יSERVER

באופן די כללי יש בSQL את כל הכלים לניהול הרשאות של משתמשים לקריאה וכתיבה של נתונים בדר"כ עד לרמת טבלאות ואם צריך לסנן רשומות ניתן לעבור לעבודה עם VIEWS. אבל... נראה לי שאתה מערבב ומסתבך בין הרשאות של משתמשים לבסיס הנתונים לבין הרשאות באפליקציה. לא נראה לי שאתה רוצה לנהל את הרשאות המשתמשים האפליקטיביות דרך הרשאות של משתמשים לאוביקטים ב DB. אתה חייב לתכנן מראש בדיוק מה ההרשאות שאתה רוצה לתת למשתמשים באפליקציה ולאחר מכן להחליט מה האפליקציה תתן למשתמשים לבצע ומה ההרשאות למשתמשים ב DB צריכות להיות. לא חייב להיות קשר בין המשתמשים באפליקציה למשתמשים ב DB. בדר"כ המשתמשיםבאפליקציה לא יודעים ולא נוגעים ב DB. והאפליקציה קובעת את ההרשאות. ניתן כמובן לנהל טבלאות של משתמשים, קבוצות והרשאות לתפריטים או לחתכים בDB אבל האפליקציה צריכה לדעת לנהל זאת.
 

lj101

New member
המשך

כלומר אתה מציע לי לנהל את מערכת המשתמשים ע"י טבלאות ? הבעיה שלי היא כזו שיש לי מערכת שעובדת ברמה ארצית ומתחברת ע"י חיוג וכניסה למסד הנתונים ויש הרשאות ברמה מאוד בסיסית בטבלה כלומר מי שנכנס עם USER מסויים והוא מוגדר לעבוד מאיזור ת"א אז המערכת תתן לו לעבוד רק בחתך של ת"א אבל לפעמים אני מגדיר בטעות USER כלל ארצי ואז יש לי בעיה מכוון שהמידע נראה למי שלא אמור לראות, האם בכל זאת אפשר לשדרג את המערכת או ליצור LOG קצר לגבי כניסת משתמשים ברמת השרת ולא התוכנה כאשר הפרויקט של התוכנה כבר סגור ע"י חברה אחרת אומנם הפרויקט נכתב ב-VB אך להתחיל ולשדרג יקח הנון זמן או שיש אופציה לכתוב אפליקציה קטנה וחיצונית שתבדוק זאת
 

tberger

New member
פירוט

בכדי לתת תשובה ספציפית יש צורך בשאלה ספציפית. בכללי כמו שאמרתי ניתן לעשות כמעט הכל עם ההרשאות של SQL SERVER ושימוש ב VIEWS, אם כי באפליקציה השליטה היא מוחלטת. ניתן לעקוב אחרי כל פעולה הקוראת בשרת ע"י אפליקציה נוספת שבאה עם ה SQL שנקראת PROFILER. היכן אתה מגדיר USER? האם אתה רוצה אותו USER שיוגדר ב DB? האם האפליקציה מתחברת ל DB באותו USER?
 
למעלה