「Xamarin.Macで管理者権限に昇格してコマンド実行する」の版間の差分
ページの作成:「Mac OS Xのアプリは通常は一般権限で実行されるが、システムファイルの操作など管理者権限に昇格して危険な操作をしたい...」 |
imported>Administrator 細 Administrator がページ「Xamarin.Mac/管理者権限に昇格して実行する」を「Xamarin.Macで管理者権限に昇格してコマンド実行する」に移動しました |
||
| (2人の利用者による、間の2版が非表示) | |||
| 28行目: | 28行目: | ||
using (var auth = Authorization.Create(defaults)) | using (var auth = Authorization.Create(defaults)) | ||
{ | { | ||
// | // ExecuteWithPrivilegesメソッドを呼ぶと認証ダイアログが表示される。 | ||
var args = new[]{"-c", "\"\"mkdir -p /usr/share/MyFolder\"\""}; | var args = new[]{"-c", "\"\"mkdir -p /usr/share/MyFolder\"\""}; | ||
var ret = (AuthorizationStatus)auth.ExecuteWithPrivileges("/bin/sh", defaults, args); | var ret = (AuthorizationStatus)auth.ExecuteWithPrivileges("/bin/sh", defaults, args); | ||
| 43行目: | 43行目: | ||
===注意2 === | ===注意2 === | ||
また、[[アップル]] | また、[[アップル]]の公式ドキュメントによると1つのアプリが管理者権限に昇格して直接的に危険な操作をすることは推奨されておらず、管理者権限が不必要な部分と、管理者権限が必要な部分で[[アプリ]]を2つに分離させて、[[プロセス間通信]]をすることが推奨されている。つまりこの実装は手抜きで楽であるが世間様にオススメできるようなものではない。 | ||
==関連項目== | ==関連項目== | ||