java -Djava.security.auth.login.config==2.config.txt e1
使用new com.sun.security.auth.callback.TextCallbackHandler()
java -Djava.security.auth.login.config==ok.config.txt e1
不使用Handler,而使用配置文件
test\e
定义SampleACN执行Login(),回调MyCallbackHandler
(MyCallbackHandler: LoginModule invokes a javax.security.auth.callback.CallbackHandler to perform the user interaction and obtain the requested information, such as the user name and password)
使用到LoginModel和Principal
先直接运行,后使用策略文件和安全管理器
运行时需要使用登陆配置文件指定用哪个LoginModel
授权
Subject.doAsPrivileged(mySubject, action, null);
mySubject通过验证得到
action 定义以mySubject执行的代码(run),
Policytool为mySubject授权
安全管理器——〉加上安全管理器后,则需要授权——〉基于Principal、目录、代 码、签名..授权
基于代码的授权--the permissions are granted based on code characteristics: where the code is coming from and whether it is digitally signed and if so by whom
基于
---各种权限
----创建自己的许可
keytool -genkey -dname "CN=tmp, OU=NC, O=Shanghai University, L=ZB, ST=Shanghai, C=CN" -alias tmp -keyalg RSA -keystore 111 -keypass wshr.ut -storepass wshr.ut -validity 1000