|
Как избежать ownership chaining для XП?
|
|||
---|---|---|---|
#18+
Ситуация: надо написать ХП, у которой будет grant execute public, но при этом требуется, чтобы если у вызывающего пользователя нет прав на какой-либо объект внутри ХП, вылетала ошибка. Все объекты внутри ХП находятся в схеме dbo, и права по ним назначаются по совсем другим регламентам, а процедура для вызова должна быть доступна всем. Насколько я понимаю механизм ownership chaining, для требуемого достаточно создать процедуру в схеме, отличной от dbo? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 09:29 |
|
Как избежать ownership chaining для XП?
|
|||
---|---|---|---|
#18+
WinterGraveyard Насколько я понимаю механизм ownership chaining, для требуемого достаточно создать процедуру в схеме, отличной от dbo? В схеме, у которой владелец не dbo. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 09:32 |
|
Как избежать ownership chaining для XП?
|
|||
---|---|---|---|
#18+
create proc ... with execute as caller ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2020, 11:41 |
|
Как избежать ownership chaining для XП?
|
|||
---|---|---|---|
#18+
invm, Гавриленко Сергей Алексеевич, спасибо, со схемой, у которой владелец не dbo получилось так, как надо. А вот с execute as caller что-то не получается: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63.
Код: plaintext 1. 2.
- процедура dbo.test в контексте testuser отработала нормально, а требовалось, чтобы она выкинула ошибку, как guest.test. Проверял на Код: sql 1.
Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 07:12 |
|
Как избежать ownership chaining для XП?
|
|||
---|---|---|---|
#18+
WinterGraveyard А вот с execute as caller что-то не получается ... |
|||
:
Нравится:
Не нравится:
|
|||
16.04.2020, 09:39 |
|
|
start [/forum/topic.php?fid=46&msg=39947356&tid=1686219]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
63ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 170ms |
0 / 0 |