Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Научите как пользоваться resource...
|
|||
|---|---|---|---|
|
#18+
Запихал все - увидал таки страничку родимую!!! ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2010, 16:25 |
|
||
|
Научите как пользоваться resource...
|
|||
|---|---|---|---|
|
#18+
krvsaОшибка: <PROTECT>%Log+1^%ZEN.Utils.1 ^%ISC.ZENLOG,c:\intersystems\cache\mgr\ Как я понимаю, не хватает доступа к базе, куда пишется лог - видать, в CACHESYS (но не уверен) Дайте ресурс %DB_CACHESYS - м.б. и поможет krvsaА это как и где? Такое ренее вообще не настраивал и не проверял... Конфигурация - Управление ЦСП-шлюзом - Проверить соединение с сервером Если в адресе обнаружится порт (типа http:localhost:57772), а в ЦСП ходите без порта (вернее, на 80-й) то нужно порт вытереть из адреса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2010, 16:30 |
|
||
|
Научите как пользоваться resource...
|
|||
|---|---|---|---|
|
#18+
krvsa, Еще забыл сказать - в роль нужно добавить права на таблицы и процедуры (с учетом области) это в роли закладочка такая.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2010, 16:36 |
|
||
|
Научите как пользоваться resource...
|
|||
|---|---|---|---|
|
#18+
kolesovЕще забыл сказать - в роль нужно добавить права на таблицы и процедуры (с учетом области) это в роли закладочка такая.... Закладку видел... Я думал это будет т.с. вторая серия. Видно рано я порадовался... Решил "усложнить" пример! Добавил вторую кнопку с другим ресурсом... Код: plaintext 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. Но как бы я не логинился Админом или Юзером - всегда вижу обе кнопки. Где опять у меня что-то не так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2010, 16:41 |
|
||
|
Научите как пользоваться resource...
|
|||
|---|---|---|---|
|
#18+
krvsa, Есть класс class %CSP.UI.Portal.ColumnPriv он унаследован от %ZEN.Component.page (более подоробно посмотрите в Class Reference). Применяя данный класс можно управлять доступом как к таблице так и к отдельному столбцу таблицы. Пример вызова. Method rowLincSQLTlb() [ Language = javascript ] { var table = this.getComponentById('table'); var index = table.getProperty('selectedIndex'); if (index == -1) { alert("Виберіть запис та повторіть дію!"); return; } var data = table.getRowData(index); var id = data.ID; var Grantee = data.Name; zenPage.launchPopupWindow( zenLink('%CSP.UI.Portal.ColumnPriv.cls?$ID1='+Grantee+'&NAMESPACE=CIVICRESPONSIBILITY&ObjectType=TABLE&tab=4&IncludeSystem=0'),'', 'status,scrollbars,resizable=no,modal=yes,width=840,height=660'); } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2010, 16:51 |
|
||
|
Научите как пользоваться resource...
|
|||
|---|---|---|---|
|
#18+
YuraM , мне бы с кнопочками пока разобраться... С таблицами потом... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2010, 16:53 |
|
||
|
Научите как пользоваться resource...
|
|||
|---|---|---|---|
|
#18+
krvsa, Выведите имя текущего пользователя и его роли: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2010, 17:28 |
|
||
|
Научите как пользоваться resource...
|
|||
|---|---|---|---|
|
#18+
Ymka2007, Чуток перепутал с адресатом, кому надо было ответить (написал для krsva). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2010, 17:29 |
|
||
|
Научите как пользоваться resource...
|
|||
|---|---|---|---|
|
#18+
krsva! Извените не с тем ответом к Вам "влез"... Перепутал....http://www.sql.ru/forum/images/biggrin.gif ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2010, 17:30 |
|
||
|
Научите как пользоваться resource...
|
|||
|---|---|---|---|
|
#18+
YuraM, ничего страшного, я уже прочел это то понятно что можно использовать, но вопрос как это сделать программным образом??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2010, 17:36 |
|
||
|
Научите как пользоваться resource...
|
|||
|---|---|---|---|
|
#18+
этот класс только для столбцов таблиц ('%CSP.UI.Portal.ColumnPriv.cls) а для таблиц? какой krvsa, извини что параллелим, может кому понадобится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2010, 17:45 |
|
||
|
Научите как пользоваться resource...
|
|||
|---|---|---|---|
|
#18+
Ymka2007, Таким образом добавляю программно addSQLTable() s pNamespace="CIVICRESPONSIBILITY" s pObjName="" s pGrantee="t222" ;роль или пользователь s pObjectType="TABLE" s pSchema="DATA_ACCOUNTING" s pTable="Register" s pColumns="Quantity" s pPrivs=",1,2,3,4" ;1="s",2="i",3="u",4="r" s pGrants="" s pRevoke=0 s pIncludeSystem=0 s tSC = ##class(%CSP.UI.Portal.ColumnPriv).SaveData(pNamespace, pObjName, pGrantee, pObjectType, pSchema, pTable, pColumns, pPrivs, pGrants, pRevoke, pIncludeSystem) q tSC Отдельно для таблицы я не нашел, но можно и через этот класс добавить туже таблицу (конечно надо указывать какие столбцы из таблицы будут добавляться). Надо "порыть" класс %SQL.Manager.API (класс метод SaveData из %CSP.UI.Portal.ColumnPriv использует Set tSC = ##class(%SQL.Manager.API).SaveObjPriv(acts(priv), nType, pObjName, pGrantee, 0, 1, .SQLCODE, .sMsg, GrantedBy, .fields) ) Может через него можно будет добавить только таблицу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2010, 19:19 |
|
||
|
Научите как пользоваться resource...
|
|||
|---|---|---|---|
|
#18+
Ymka2007, class %SQL.Manager.API extends %RegisteredObject This is a system class that allows control of the Cache SQL environment. Used by SQL Manager. classmethod SaveObjPriv(acts As %String, type As %Integer, objs As %String, users As %String, g, revoke As %Integer, ByRef SQLCODE As %Integer, ByRef %msg As %String, GrantedBy As %String = "", ByRef fields As %String = "") as %Status Parameters: acts - actions to grant. * for all actions a for Alter s for Select i for Insert u for Update d for Delete r for References or any combination type - "1" for table, "3" for view, "9" for procedure objs - name of the table or view users - comma delimited list of users g - 0/1 for WITH GRANT OPTION revoke - 1 if revoke (-1 otherwise) SQLCODE - Passed by reference. Returns SQLCODE contains 0 (success) or number < 0 (error) %msg - Passed by reference. If SQLCODE<0, contains error message. GrantedBy - Who the privilege was granted by. If revoke, revoke from user it was granted by fields - optional, $List of field names to grant or revoke the privs on the objs Т.е. если использовать этот класс-метод то можно сохранить всю таблицу сразу же, а не по колонкам... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2010, 20:43 |
|
||
|
Научите как пользоваться resource...
|
|||
|---|---|---|---|
|
#18+
Ymka2007, Код SaveData ClassMethod SaveData(pNamespace, pObjName, pGrantee, pObjectType, pSchema, pTable, pColumns = "", pPrivs = "", pGrants = "", pRevoke, pIncludeSystem) As %String [ ZenMethod ] { Set $ZT="Error" Set tResult = "" Do { Set GrantedBy = $Username Set nType = $S(pObjectType="TABLE":1,pObjectType="VIEW":3,1:9) Set currentNamespace = $zu(5) If pNamespace '= "",pNamespace '= currentNamespace ZN pNamespace If pObjName = "" Set pObjName = pSchema _ "." _ pTable #; If it is revoke all, gather all columns now If pRevoke = 1,pColumns = "*" Set pColumns = ..GetColumns(pGrantee, pSchema, pTable, pIncludeSystem) Quit:pColumns="" #; Set columns into $list Set fields = "" For r = 1:1:$L(pColumns,",") Set $li(fields,r) = $P(pColumns,",",r) #; parse out the privileges Set acts(1)="s",acts(2)="i",acts(3)="u",acts(4)="r" Set tRow = 2 Set priv = $P(pPrivs,",",tRow) ;&js<alert("#(pPrivs)#");> ;&js<alert("#(priv)#");> ;q s aa=acts(1) #; for every priv, grant the privilege: While priv '= "" { #; first remove all privileges then save the ones user selected. Set tSC = ##class(%SQL.Manager.API).SaveObjPriv(acts(priv), nType, pObjName, pGrantee, 0, 1, .SQLCODE, .sMsg, GrantedBy, .fields) ;&js<alert("#(SQLCODE)#");> If $$$ISERR(tSC) Set tResult = $ZCVT($System.Status.GetErrorText(tSC),"O","HTML") Quit If SQLCODE '= 0 Set tResult = tResult _ pObjName _ $$$TextHTML("Save failed. Could not remove existing privilege.")_" "_sMsg_"</br>" Quit Set nGrant = pGrants [ priv #;s ^%yan("priv",priv)=acts(priv)_"^"_nType_"^"_pObjName_"^"_pGrantee_"^"_nGrant_"^"_0_"^"_GrantedBy_"^"_fields Set tSC = ##class(%SQL.Manager.API).SaveObjPriv(acts(priv), nType, pObjName, pGrantee, nGrant, 0, .SQLCODE, .sMsg, GrantedBy, .fields) If SQLCODE '= 0 Set tResult = tResult _ pObjName _ $$$TextHTML("Save failed. Please make sure that you have sufficient SQL privilege to perform this operation.")_" "_sMsg_"</br>" Quit Set tRow = tRow + 1 Set priv = $P(pPrivs,",",tRow) } If pRevoke = 1 { Set tSC = ##class(%SQL.Manager.API).SaveObjPriv("*", nType, pObjName, pGrantee, 0, 1, .SQLCODE, .sMsg, GrantedBy, .fields) } If SQLCODE '= 0 { Set tResult = tResult _" ["_SQLCODE_"]"_sMsg_"<br>" } ZN currentNamespace } While 0 Quit tResult Error /// Set $ZT="" Do BACK^%ETN Set tResult = $ZCVT($ZE,"O","HTML") Quit tResult } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2010, 20:45 |
|
||
|
Научите как пользоваться resource...
|
|||
|---|---|---|---|
|
#18+
servitВыведите имя текущего пользователя и его роли: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Завтра продолжим, спасибо что помогаете... А то тут без бутылки не разобраться... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2010, 21:17 |
|
||
|
Научите как пользоваться resource...
|
|||
|---|---|---|---|
|
#18+
Добавил что советовали... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Вот что получилось... ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2010, 09:47 |
|
||
|
Научите как пользоваться resource...
|
|||
|---|---|---|---|
|
#18+
Вот описание самой роли... Как видно там есть ресурс UCH_ADM ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2010, 09:54 |
|
||
|
Научите как пользоваться resource...
|
|||
|---|---|---|---|
|
#18+
krvsa, Оставьте ресурсы %DB_%DEFAULT %DB_CACHESYS UCH_ADM остальные удалите. И зайдите в систему под пользователем для которого определена роль UCH_R_ADM. В этом случае Вы должны видеть только кнопку UCH_ADM. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2010, 10:37 |
|
||
|
Научите как пользоваться resource...
|
|||
|---|---|---|---|
|
#18+
YuraMОставьте ресурсы %DB_%DEFAULT %DB_CACHESYS UCH_ADM остальные удалите. Сейчас сделаю... YuraMИ зайдите в систему под пользователем для которого определена роль UCH_R_ADM. В этом случае Вы должны видеть только кнопку UCH_ADM. Таки и так только таким вхожу... Входил и тем для кого другая кнопка доступна... Да только видны всегда пока обе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2010, 11:08 |
|
||
|
Научите как пользоваться resource...
|
|||
|---|---|---|---|
|
#18+
Изменил роль... Но так все и осталось... Хотя и браузеры закрывал... И логинился всякий раз... Вот описание пользователя. Куда еще смотреть? ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2010, 11:17 |
|
||
|
Научите как пользоваться resource...
|
|||
|---|---|---|---|
|
#18+
Что интересно... Если например написать вот так Код: plaintext 1. обе кнопки исчезают! ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2010, 11:20 |
|
||
|
Научите как пользоваться resource...
|
|||
|---|---|---|---|
|
#18+
Или так... Код: plaintext 1. Т.е. они видны если ресурс вообще существует в описании Каше. И не обязательно привязан к пользователю... Я так пока понял. ---------- Cache for Windows (x86-32) 2007.1.3 (Build 607) Wed Oct 17 2007 02:12:09 EDT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2010, 11:23 |
|
||
|
Научите как пользоваться resource...
|
|||
|---|---|---|---|
|
#18+
krvsa, Посмотрите профиль пользователя. Какие ресурсы и службы ему доступны. Были случаи(когда при инсталяции Cache' выбирался максимальный уровень безопасности) при добавлении нового пользователя ему присваивался ресурс %All. В списке выбранных ресурсов он отсутсвовал, а в профиле пользователя отображался... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2010, 11:43 |
|
||
|
Научите как пользоваться resource...
|
|||
|---|---|---|---|
|
#18+
krvsa, Попробуйте убрать и ресурсы %DB_%DEFAULT %DB_CACHESYS Оставьте только свой ресурс. Без ресурсов %DB_%DEFAULT и %DB_CACHESYS должна возникнуть ошибка на странице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2010, 12:05 |
|
||
|
Научите как пользоваться resource...
|
|||
|---|---|---|---|
|
#18+
вот что нарыл: Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2010, 12:15 |
|
||
|
|

start [/forum/topic.php?fid=39&msg=36472116&tid=1558175]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 323ms |

| 0 / 0 |
