|
C# поток с другими правами. Возможно ли? | ☑ | ||
|---|---|---|---|---|
|
0
Lama12
03.10.12
✎
09:35
|
Сабж.
Можно ли запустить второй поток от имени другого пользователя? Или нужно запускать отдельный процесс? |
|||
|
1
le_
03.10.12
✎
09:46
|
Можно.
Это называется имперсонация (impersonation). |
|||
|
2
Lama12
03.10.12
✎
09:57
|
(1) Спасибо!
Похоже то, что нужно. |
|||
|
3
Alexey_Morov
03.10.12
✎
09:58
|
(1)
Согласен. |
|||
|
4
Alexey_Morov
03.10.12
✎
09:59
|
public void Run(object principalObj) {
if (principalObj == null) { throw new ArgumentNullException("principalObj"); } IPrincipal principal = (IPrincipal)principalObj; Thread.CurrentPrincipal = principal; WindowsIdentity identity = principal.Identity as WindowsIdentity; WindowsImpersonationContext impersonationContext = null; if (identity != null) { impersonationContext = identity.Impersonate(); } try { // your code here } finally { if (impersonationContext != null) { impersonationContext.Undo(); } } } ... Thread thread = new Thread(Run); thread.Start(yourPrincipal); |
|||
|
5
Alexey_Morov
03.10.12
✎
10:02
|
(1)
А ты ещё напишешь скрипты для обрамления кода в тег [C#] и [offtopic] (как на ixbt.com)? С кнопкой для вставки тэгов ты справился замечательно. |
|||
|
6
le_
03.10.12
✎
10:22
|
(5) Движок форума предусматривает обработку только тега
.
|
|||
|
7
Alexey_Morov
03.10.12
✎
10:24
|
(6)
Где можно почитать, как работает форум, какие функции доступны администраторам и что можно сделать для улучшения форума? |
|||
|
8
le_
03.10.12
✎
10:26
|
| Форум | Правила | Описание | Секции | Поиск |