Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 04:23 17.05.24 
Компютри и Интернет
   >> Delphi
Всички теми Следваща тема *Кратък преглед

Тема Firebird Role Question & Delphi 7  
АвторVermax (Нерегистриран)
Публикувано18.03.04 17:16



Здравейте,

интересуваме някои сблъсквал ли се е с подобно нещо.

Имам База данни (Firebird - ска) в нея имам създадени 5 роли. Добавям Програмно потребители посредством TSecurityService. До тук ситуацията е бомба, но идва кофти момента: Трябва да задам на всеки потребител каква роля може да приема. Видях къде пише тези работи Firebirda ( в системната таблица RDB$user_privileges). Използвайки TIBSQL връзвам userite(добавям запис в таблицата) с определена роля, но когато се опитам да махна роля на даден потребител(изтрия запис от горепосочената таблица) Firebird ми казва че нямам права (а съм SYSDBA). Tоест крайния ефект е че на потребител мога да добавям роля, но не мога да махна такава. (да оставим факта че си "омазах" базата 2 пъти за 1 час).
Та питането ми е: няма ли компонент(нещо като ТSecurityService) за тази работа (стандартен май няма) или друг метод за реализиране на тези неща - не ми се бърка директно в системните таблици на Firebird.

Моля, помогнете

Благодаря предварително.



Тема Re: Firebird Role Question & Delphi 7нови [re: Vermax]  
Автор NDeu (динозавър)
Публикувано18.03.04 21:03



Grant и Revoke ще ти свършат работа.
GRANT {rolename [, rolename ...]} TO {PUBLIC
| {[USER] username [, [USER] username ...]} } [WITH ADMIN OPTION];
REVOKE <rolename FROM username;
Вж.


И ако позволиш един съвет: Никога не пиши в системните таблици, ако ти е мила базата.
Вярно е и другото: Никога не казвай "никога"

Редактирано от NDeu на 18.03.04 21:21.



Тема Re: Firebird Role Question & Delphi 7нови [re: NDeu]  
АвторVermax (Нерегистриран)
Публикувано18.03.04 22:58



Благодаря за идеята.

наистина не е много зравословно да се пипа по системните таблици , оба4е TSecurityService не поддържа булгарица .
Както и да е. там се оправих.
Утре ще пробвам идеиката. Grant мисля 4е работи, но за Revoke мисля че нямам права, а съм администратор. Някакви идеи?
Може и базата да ми е омазана. Ще пробвам и ще пиша пак.



Тема Re: Firebird Role Question & Delphi 7нови [re: Vermax]  
АвторVermax (Нерегистриран)
Публикувано19.03.04 09:09



Малеее това приложениице ме върна в трети клас .

GRANT и REVOKE наистина са полезни(10х NDeu). Обаче като се опитам да дам права на Потребител за някаква Роля (GRANT GUEST TO PESHO примерно) в КОНЗОЛА РАБОТИ, а от моето приложение ми дава "SYSDBA nas no permission to grant SQL role GUEST to user PESHO" (Ако SYSDBA няма правя - аз ли да имам ).

Някакви нстройки ли има???
Help. Това приложениице ме взема за мезе



Тема Re: Firebird Role Question & Delphi 7нови [re: Vermax]  
АвторVermax (Нерегистриран)
Публикувано19.03.04 09:51



Напредък

не е достатъчно да си SYSDBA трябва опцията WITH GRANT OPTION на SYSDBA за всяка роля да е сетната иначе казва че няма права.
и все пак имам още проблеми с REVOKE - не да ва грешка но не работи



Тема Re: Firebird Role Question & Delphi 7нови [re: Vermax]  
Автор andrew_nikoloff (минаващ)
Публикувано20.03.04 10:17



Какво значи "не работи"?
Ако не се лъжа (сега не ми се проверява) юзера си има правата, които са му дадени когато се е логнал. Ако смениш нещо по ролята, то ще се отрази чак след новото логване на юзера.



Тема Re: Firebird Role Question & Delphi 7нови [re: Vermax]  
Автор NDeu (динозавър)
Публикувано20.03.04 13:45



Не работи е твърде общо понятие
Да не би да имаш предвид, че ролята си остава в базата. За да я махнеш от базата - Drop-ни я



Тема Re: Firebird Role Question & Delphi 7нови [re: NDeu]  
АвторVermax (Нерегистриран)
Публикувано23.03.04 09:19



наистина проблема ми е доста "тънък" явно.

под неработи имам предвид:

Revoke Guest From Ivan (където Guest e rolq а Ivan e потребител)/* примерно се опитам да махна роля на потребител*/ Така написано това в конзола работи от моето приложение НЕ ДАВА грашка, но не маха и ролята на потребителя. Отворил съм базата като SYSDBA, а той е собственик на всичко в базата (Роли, таблици, вюта....) Дори WITH ADMIN Option му указах за всички роли.

Докато: GRANT Guest to IVAN работи перфектно както от приложението така и от конзола.

След толкоз опити вече си нямам и идея къде е проблема.



Тема Re: Firebird Role Question & Delphi 7нови [re: Vermax]  
АвторVermax (Нерегистриран)
Публикувано25.03.04 23:35



Blagodarq na vsi4ki.
Podhoda e pravilen.

Raboti perfektno.




Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.