簡體   English   中英

如何在策略中授予用戶權限?

[英]How to grant user permission in Policy?

我能夠連接到LDAP服務器並驗證用戶身份。 我還使用了一個如下所示的策略文件:

grant codeBase "file:/C:/Codebase/-",
 principal java.security.Principal "john" {
  permission java.util.PropertyPermission "user.home", "read";
  permission java.util.PropertyPermission "java.home", "read";
  permission javax.security.auth.AuthPermission "createLoginContext.TestLdap";
};

如果刪除行principal java.security.Principal "john" ,它將正常工作。 但是,當我指定Principal時,它將通過拋出AccessControlException停止工作(即使我以“ john”身份登錄)。 我想授予某些用戶特定的特權,例如授予管理員對文件的讀寫權限。 為什么不起作用?

我試圖不使用證書,因為我不希望用戶與任何事物進行交互。

我發現我在閱讀個人信息之前正在以Java代碼注銷(忘記刪除測試的那一部分)。 另外,上面的代碼還有另一個錯誤。 應該是這樣的:

grant codeBase "file:/C:/Codebase/-" {
   permission javax.security.auth.AuthPermission "doAsPrivileged";
   permission javax.security.auth.AuthPermission "createLoginContext.TestLdap";
};

grant codeBase "file:/C:/Deveop/Codebase2/-", 
principal com.sun.security.auth.UserPrincipal "john" {
  permission java.util.PropertyPermission "user.home", "read";
  permission java.util.PropertyPermission "java.home", "read";

};

另外,請確保調用Subject.doAsPrivileged(Subject subject, PrivilegedAction<Object> action, null)並將PrivilegedAction實現為您的操作類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM